如何在多匹配查询中限制结果?

时间:2017-01-15 19:02:36

标签: elasticsearch

我在搜索时使用了多个匹配短语。但是我必须单独列出所有数学短语的限制结果。我的意思是,我想每次多场比赛只取2个结果。我无法找到任何限制/尺寸属性。你知道任何解决方案吗?

示例代码:

  "query": {
"bool": {
  "should": [
     {
      "match_phrase": {
        "text": {
          "query": " Home is clear and big ",
          "slop": 2

    }
 }
 },
  {
  "match_phrase": {
    "text": {
      "query": "365 different company use our system in test",
      "slop": 2

    }
 }
 }

]}}

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是针对每个条件进行单独搜索。可以将size参数设置为仅检索每个查询的前2个结果。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-from-size.html

布尔should查询不会区分满足哪个条件:它返回两个条件中至少有一个成立的文档。两场比赛的得分将合并为一个得分,但无法确定哪个得分

答案 1 :(得分:0)

使用

{"limit" : 3, "from":0, "query": ...}