【问题标题】:Search on multiple fields Elasticsearch搜索多个字段 Elasticsearch
【发布时间】:2018-05-18 16:55:23
【问题描述】:

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

如果用户输入 John,任何名字/姓氏/或带有 john 的昵称都会出现。

如果用户在 John R 中键入名字与 John 匹配并且在 first/last/nickname 中也与 R 匹配的任何人,现在应该会出现。

我正在努力使用 NEST for elasticsearch 来构建此查询。

【问题讨论】:

  • 展示一些代码并寻求帮助通常是个好主意。
  • 使用其余的 API,您可以执行以下操作:{query: {multi_match: {query: John, fields: [field1, field2...]}}},在 NEST 上应该有办法做到这一点。

标签: elasticsearch


【解决方案1】:

我不确定您是否不知道如何在 Elastic 中进行多字段搜索,或者您对 NEST 有疑问。你可以试试cross-fields Queries来解决你的问题:

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

如果您对 NEST 有疑问,您应该发布您的代码。

【讨论】:

    猜你喜欢
    • 2018-12-22
    • 2021-12-06
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多