ElasticSearch:我如何全文搜索数组字段?

时间:2016-03-07 12:28:45

标签: elasticsearch

elasticsearch中的示例文档

{
    "name": "Tom",
    "hobbies": [
        {
            "hobby": "go for a walk"
        },
        {
            "hobby": "board games"
        }
    ]
}

我怎样才能让所有爱好者都包含“走路”或“游戏”?

2 个答案:

答案 0 :(得分:2)

Array Field Index此参考将使您更清楚地了解阵列字段索引过程。

要在数组中启用全文搜索,您需要在案例中指定path搜索array fields路径为hobbies.hobby

由于您要启用搜索game& games您需要指定stem分析器[snowball]才能实现语言搜索。

答案 1 :(得分:0)

您需要指定路径

POST indexName/_search
{
  "query": {"terms": {
    "hobbies.hobby": [
      "walk",
      "games"
    ]
  }}
}