在多个字段上搜索Elasticsearch

时间:2018-05-18 16:55:23

标签: elasticsearch

我正在构建搜索,您可以根据多个字段搜索某人。在这种情况下,它与名称有关。名字,姓氏和昵称都在不同的字段中。

如果用户输入John,则应显示任何名字/姓氏/或带有john的昵称。

如果用户键入John R,其中第一个/最后一个/昵称与John匹配,并且现在还应显示第一个/最后一个/昵称中的R匹配。

我正努力使用NEST进行弹性搜索来构建此查询。

1 个答案:

答案 0 :(得分:0)

我不确定您是否不知道如何使用弹性进行多字段搜索,或者您对NEST有一些问题。您可以尝试使用cross-fields Queries来解决问题:

    {
    "query": {
        "multi_match": {
            "query":       "John",
            "type":        "cross_fields", 
            "fields":      [ "first_name", "last_name", "nick_name" ]
        }
     }
   }

如果你遇到NEST问题,你应该发布你的代码。