1
我正在使用function_score,以便我可以使用它的score_mode作爲我正在使用的bool查詢的最大分數,實際上我內部有兩個布爾查詢,現在我應該把文檔的分數作爲這兩個查詢中的最大分數,我的代碼是下面給出,但是當我傳遞一個字符串匹配兩個然後分數被添加不被採取最大任何人都可以請告訴我,我怎麼能實現這一點。Function_score將bool查詢中的score_mode用作max,但像sum一樣工作?
"function_score": {
"boost_mode": "max",
"score_mode": "max",
"query": {
bool: {
"disable_coord": true,
"should": [
{
bool: {
"disable_coord": true,
"must": [
{
"constant_score": { // here i am using this because to remove tf/idf factors from my scoring
boost: 1.04,
"query": {
query_string: {
query: location_search,
fields: ['places_city.city'],
// boost: 1.04
}
}
}
}
]
}
},
{
"constant_score": { // here i am using this because to remove tf/idf factors from my scoring
boost: 1,
"query": {
"fuzzy_like_this" : {
"fields" : ["places_city.city"],
"like_text" : "bangaloremn",
"prefix_length": 3,
"fuzziness": 2
}
}
}
}
], "minimum_should_match": 1
}
}
}
我可以使用dismax查詢比較分數與一個布爾查詢和costant分數查詢? –
是的,你可以比較任何類型的查詢。 –
你能否也請告訴我一件事,在fuzzy_like_this查詢下如何訪問上述類型的字段我想訪問「places_city」類型的名稱「city」的字段,但無法做到這一點? –