elasticsearch - Elasticsearch 数组中没有匹配项

标签 elasticsearch

我正在使用Elasticsearch 5.2.2。

在我的索引中,我有如下数据:

{
    "_index": "index",
    "_type": "273caf76-ec03-478c-b980-9743180bc863",
    "_id": "eee46e24-f383-4ae7-8930-dc3836e030a5",
    "_score": 3.41408,
    "_source": {
      "Father Name": [
        {
          "id": "some id",
          "value": "Some value test test"
        }
      ],
      "Mother Name": [
        {
          "id": "some id",
          "value": "Another value haha"
        }
      ],
      "Other values": [{ id: "", value: ""}]
    }
}

当我使用_all搜索时,一切正常,我可以找到所有分数合理的结果
{"query":{"match":{"_all":"value"}},"from":0,"size":20}

但是该查询正在所有字段中搜索。例如,如果我只想在Father NameFather NameMother Name中找到结果,那么我什么也没找到。
{"query":{"match":{"Father Name":"value"}},"from":0,"size":20}

我的目标是查找与_all类似的搜索,但仅限于几个字段。

最佳答案

您的字段Father NameMother Name是内部对象的数组。

例如,要在valueFather Name字段中搜索,请执行

curl -XGET localhost:9200/myindex/_search?pretty -d '
{
  "query": {
    "match": {
      "Father Name.value": "first"
    }
  },
  "from": 0,
  "size": 20
}'

但是,我不确定如何查询Father Name中的所有字段。

引用Arrays of Inner Objects

关于elasticsearch - Elasticsearch 数组中没有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43143734/

相关文章:

elasticsearch - 如何根据 Elasticsearch 中的重新评分函数选择顶级术语桶

elasticsearch 获取实时数据的最佳方法(推文)

django - 实现自动建议功能(不是自动完成)

elasticsearch - 查询 Elasticsearch 时如何禁用感知插件中的分页

indexing - 通过更新索引模板来更新 Elasticsearch 映射

elasticsearch - 如何在Elasticsearch中搜索&符?

elasticsearch - 是否可以通过Elasticsearch中的批量api通过查询进行更新

Elasticsearch,嵌套对象的存在过滤器不起作用

elasticsearch - 基于另一个字段的ElasticSearch范围查询

elasticsearch - Elasticsearch中基于每个用户行为的评分