J'utilise Elasticsearch 6.6. Mon application construit ES index en tirant des données à partir de différentes sources de données. La recherche ne spécifie pas la source de données. Il construit simplement une requête quelque chose comme: Il existe un champ appelé "DataSource". Cependant, il n'est pas utilisé pour construire une requête. Cependant, cela fait partie du résultat. Fondamentalement, je veux utiliser ce champ implicitement tout en construisant une requête. Par exemple, si le document a "DataSource" est égal à "A", le document doit être en haut de la série de résultats. En d'autres termes, je souhaite stimuler le score en fonction du champ "DataSource". Cependant, je veux toujours obtenir le résultat même si le document était indexé d'une autre "DataSource" telle que "B". P> P>
3 Réponses :
Jetez un coup d'œil sur le paramètre Boost, vous pouvez ajouter à vos
Pour ajouter au-dessus de @ APT-GET_INSTALL_SKILL Réponse. Si la stimulation est nécessaire au moment de la requête au lieu d'indexer. Vous pouvez utiliser Function_Score a>
Merci Jaspetee Chahal pour le conseil. J'ai pu accomplir en construisant une requête qui ressemblait à:
GET employerdata/_search { "query": { "function_score": { "query": {"bool": { "must": [ { "match" : {"beName" : { "query": "KROGER", "fuzziness": "3" }}}, { "match" : {"beZip" : "47119"}} ] } }, "functions": [ { "filter": {"match": {"dataSource" : "eeo1"}}, "random_score": { }, "weight": 25 } ] } }}
Ce serait bien de répondre à nos réponses ...