我正在给出一种模式" Master Servant"弹性服务器搜索API。 它返回至少包含其中一个文档的文档(Master OR Servant)。
按结果降序显示结果。 但是,我想将该排序更改为我的自定义逻辑,即如果文档包含单词,即Master和Servant,则首先显示该文档。
这可以实现吗?
答案 0 :(得分:0)
使用bool
查询。
bool查询采用更多匹配更好的方法,因此每个匹配子句的得分将被加在一起,为每个文档提供最终的_score。与两个条款匹配的文档的得分高于仅匹配一个条款的文档。
编辑根据评论:
澄清我相信你想要这样的东西:
{
"query": {
"bool": {
"should": [
{ "match": { "field": "Master" }},
{ "match": { "field": "Servant" }}
]
}
}
}