弹性搜索其他字段

时间:2018-11-15 23:32:40

标签: json elasticsearch postman elasticsearch-5

我对两个字段进行了简单的映射,其中我正在分析一个字段是文本类型,而另一个字段是关键字类型。例子

fields: Category_one, Category_two
Data
{"Category_one": "liked wine", "Category_two":"Wine"}
{"Category_one": "liked pasta", "Category_two":"pasta"}
{"Category_one": "liked wine and pasta", "Category_two":"Wine and pasta"}
{"Category_one": "liked wine so much", "Category_two":"Wine"} 

...........
..........
.....

现在,我为索引写了一个搜索查询。

Get _search/cat
    {
    "size": 20,
      "query": {
        "match": {
          "Category_one.ngrams": {
            "query": "Nice food place in XYZ location",
            "analyzer": "standard"
          }
        }
        }
      }
    }

一切正常。我想根据Category_two中的匹配查询分数找到前5个唯一的Category_one值。

例如:

比方说,该查询返回20个结果(以上查询中的“大小”),它们的得分不同,其中前6个是葡萄酒(Category_two),接下来的4个是意大利面(Category_two),等等。

这20个结果重复。如何根据Category_two比赛得分中的得分从Category_one中获取“ Wine”,“ pasta”,“ wine and pasta”的前3个唯一值?

有人可以帮助我了解如何解决此问题吗?任何建议,将不胜感激。

谢谢。

0 个答案:

没有答案