繁体   English   中英

弹性搜索:基于定制逻辑的排序

[英]Elastic Search: Ordering based on custom logic

我给弹性服务器搜索api提供了模式“ Master Servant”。 它返回包含至少一个文档的所有文档(主文档或仆人文档)。

它以分数降序显示结果。 但是,我想将该顺序更改为我的自定义逻辑,即,如果文档同时包含单词“ Master AND Servant”,请首先显示该文档。

能做到吗?

使用bool查询。

摘自《 ES权威指南》

布尔查询采用的是“更好匹配”的方法,因此每个match子句的得分将加在一起,以为每个文档提供最终的_score。 匹配两个子句的文档的得分将高于仅匹配一个子句的文档。

编辑基于评论:

澄清一下,我相信您想要这样的东西:

{
  "query": {
    "bool": {
      "should": [
        { "match": { "field": "Master" }},
        { "match": { "field": "Servant"   }}
      ]
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM