elasticksearch嵌套查询

时间:2018-04-11 18:12:25

标签: elasticsearch elasticsearch-5 searchkick

我有一个带有一些嵌套信息的索引,现在正在讨论make如何进行查询。

下面的索引代表一块汽车,这件作品属于2辆汽车。

GET items_production_20180411115923024/_search
   {
     "query":{
    "bool":{
      "must":{
        "multi_match":{
          "query":"golf 2010",
          "type":"cross_fields",
          "operator":"and",
          "fields":[
            "vehicles.name^8",
            "vehicles.years^8"
          ]
        }
      }
    }
  },
  "size":10,"from":0
}

在搜索模型和汽车年份时,我必须使查询与单个结果匹配。即:

{{1}}

我必须归还2010年高尔夫球年度的所有文件。但我的回答是没有?

我做错了什么?我该如何进行此查询?

2 个答案:

答案 0 :(得分:0)

我发现你的查询中有拼写错误。将vehicle_names^8替换为vehicles.name^8

答案 1 :(得分:0)

vehicle.years是一个经过分析的领域吗?如果没有,它将不符合" golf 2010"。

您可以在映射中使用copy_to,从一个字段中获取名称和年份中的术语。然后你可以对它做一个简单的查询。