[英]Boosting specific field value in Elastic search
嗨,我需要基於字段的特定值來增強文檔。.我的文檔包含一個名為Region的字段。.基於該區域中存在的值,我需要增強文檔。這些是我的文檔
{
"title":"INOX: Malleshwaram - Mantri Square",
"region":"Bangalore"
}
{
"title":"INOX: Bund Garden Road",
"region":"Pune"
}
{
"title":"INOX: Glomax Mall, Kharghar",
"region":"Mumbai"
}
我試圖在我的查詢中使用rescore查詢,如下所示
"rescore" : {
"query" : {
"score_mode":"total",
"query_weight" : 2.5,
"rescore_query_weight" : 0.5,
"rescore_query" : {
"match" : {
"region" : {
"query" : "mumbai",
"slop" : 2
}
}
}
}
}
}
但是它不能按要求正常工作。.有什么辦法解決這個問題嗎?
為什么要計分,您所需要的就是提高。 根據您使用的查詢類型,可以在
"query_string": {
"fields":["region^56"],
"use_dis_max" : true,
"query": "mumbai"
}
其中^ 56是提升值。
您也可以按此處所述使用http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html
如果您正在使用布爾查詢,則可以像這樣使用boost來增強所有查詢
{
"bool" : {
"must" : {
"term" : { "region" : "mumbai" }
},
"boost" : 25.0
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.