elasticsearch - Elasticsearch在嵌套数组中搜索

标签 elasticsearch nested nosql

嗨,我是Elasticsearch新手,我在查询时遇到了麻烦。我有数据

{
    "user_id": "1",
    "date": "141462121",
    "name": "John",
    "surname": "Doe"
    "activity": [
      {
        "type": [
          "Outdoor",
          "Extreme"
        ],
        "name": "Example",
        "price": {
          "value": 50,
          "currency": "USD"
        }
      }
    ]
    "searchs": ""
  }
},
{
    "user_id": "2",
    "date": "141462121",
    "name": "Jane",
    "surname": "Doe"
    "activity": [
      {
        "type": [
          "Indoor"
        ],
        "name": "Example2",
        "price": {
          "value": 100,
          "currency": "USD"
        }
      },
      {
        "type": [
          "Outdoor"
        ],
        "name": "Example3",
        "price": {
          "value": 25,
          "currency": "USD"
        }
      }
    ]
    "searchs": ""
  }
}

我想按 Activity 类型搜索这些数据。我尝试了nested queries
"query": {
  "nested": {
     "path": "activity",
     "query": {
         "bool": {
             "must": [
                {"match": {
                   "activity.type": "outdoor"
                }}
           ]
       }
   }
}

和喜欢
"query": {
  "nested": {
    "path": "activity",
    "query": {
      "nested": {
        "path": "type",
        "query": {
           "bool": {
               "must": [
                  {"match": {
                     "type.value": "outdoor"
                  }}
               ]
           }
        }
      }
    }
  }
}

但我无法成功。

如何按 Activity 类型搜索这些数据?

最佳答案

如果您只是在查找 Activity 类型如下的记录,则可以使用简单的匹配查询

{
  "query": {
    "match": {
      "activity.type": "Outdoor"
    }
  }
}

关于elasticsearch - Elasticsearch在嵌套数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036535/

相关文章:

search - ElasticSearch:即使一个字段不匹配,也显示多搜索的部分匹配

elasticsearch 无痛访问动态命名字段

spring - 如果我减少@Document批注中的shards参数,Elasticsearch会自行减少shards数量吗?

c++ - 这是 C++ 中的嵌套命名空间语法标准吗?

css - 嵌套 <article> 和 <h1> 标签?

elasticsearch - 在为Spring Data ElasticSearch 4.X生成的文档中禁用TypeHints

javascript - Angular ui-router - 如何访问从父模板传递的嵌套命名 View 中的参数?

nosql - Cassandra内部keyspace "system"的使用

database - 适用于小型数学数据但速度快且具有聚合函数的最佳数据存储解决方案

node.js - 在 mongodb 上每个集合使用多个模式