Java 如何在elasticsearch中为单个字段指定恒定的升压值?
elasticsearch中有很多得分/提升选项,但我还没有发现为特定字段添加恒定提升值的可能性。如果存在这样的选项,映射应该是什么样子?也许有一个选项可以根据所点击的字段来计算整个文档的分数?下面是解决方案:包装器查询“custom\u boost\u factor”乘以每种类型的嵌入式查询分数:Java 如何在elasticsearch中为单个字段指定恒定的升压值?,java,
elasticsearch,Java,
elasticsearch,elasticsearch中有很多得分/提升选项,但我还没有发现为特定字段添加恒定提升值的可能性。如果存在这样的选项,映射应该是什么样子?也许有一个选项可以根据所点击的字段来计算整个文档的分数?下面是解决方案:包装器查询“custom\u boost\u factor”乘以每种类型的嵌入式查询分数: curl -XPOST 'http://localhost:9200/test/entry/_search?pretty=true' -d '{ "query":{ "custom_b
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
}
}
}'
大多数类型都有一个参数
boost
。你说得对,但我更喜欢在查询时间而不是索引时间上计算分数。好的,你可以在大多数查询类型上使用boost
参数。或者你看到了吗?谢谢。boost参数的问题在于它并不是针对每种查询类型都出现,例如“text\u phrase\u prefix”。我找到了令人满意的解决方案:名为“custom\u boost\u factor”的包装器查询——检查我对这个问题的答案。