0
votes

Tri des résultats Elasticsecearch (note pertinente) basée sur certains champs (boosting)

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: xxx

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".


1 commentaires

Ce serait bien de répondre à nos réponses ...


3 Réponses :


0
votes

Jetez un coup d'œil sur le paramètre Boost, vous pouvez ajouter à vos requêtes ( https://www.elastic.co/guide/en/elasticsearch/reference/6.6/mapping-boost.html ). Vous définissez ce boost sur certaines valeurs de vos champs (par exemple. DataSource = a). Ce n'est pas un filtre (DataSource = B sera toujours retourné) mais elle augmente la pertinence des documents particuliers correspondant à la requête.


0 commentaires

1
votes

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 xxx


1 commentaires

Merci Jaspetee Chahal pour le conseil. J'ai pu accomplir en construisant une requête qui ressemblait à:



0
votes
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
    }
  ]
} 
}}

0 commentaires