1
elasticsearch有很多評分/提升選項,但我還沒有找到爲特定領域添加恆定提升值的可能性。如果存在這樣的選擇,映射應該是什麼樣子?也許有一個選項來計算整個文檔的分數取決於哪個字段正在被擊中?如何在elasticsearch中爲單個字段分配恆定的提升值?
elasticsearch有很多評分/提升選項,但我還沒有找到爲特定領域添加恆定提升值的可能性。如果存在這樣的選擇,映射應該是什麼樣子?也許有一個選項來計算整個文檔的分數取決於哪個字段正在被擊中?如何在elasticsearch中爲單個字段分配恆定的提升值?
這裏是解決方案:包裝查詢「custom_boost_factor」,它乘所有類型的嵌入式查詢的分數:[?看了看映射的ES文件]
curl -XPOST 'http://localhost:9200/test/entry/_search?pretty=true' -d '{
"query":{
"custom_boost_factor" :{
"query" : {
"text_phrase_prefix" : {
"title" : "test"
}
},
"boost_factor": 2.0
}
}
}'
有你(HTTP:// WWW。 elasticsearch.org/guide/reference/mapping/core-types/)大多數類型都有一個'boost'參數。 – ramseykhalaf
你是對的,但我更喜歡計算查詢時間的分數,而不是索引時間。 –
好的,你可以在大多數查詢類型中使用'boost'參數來實現這個功能[參見'term' query作爲例子](http://www.elasticsearch.org/guide/reference/query-dsl/term-查詢/)。 – ramseykhalaf