如何从 Elasticsearch 中的数组中搜索数据的前缀?

Posted

技术标签:

【中文标题】如何从 Elasticsearch 中的数组中搜索数据的前缀?【英文标题】:How to search data's prefix from array in Elasticsearch? 【发布时间】:2017-09-05 11:09:40 【问题描述】:

这里我有几个存储在 Elasticsearch 中的文档。

document_example: "data": ["red","brown", "black"]

当我使用前缀搜索(见下文)检查数组“data”中是否有前缀为“b”的项目时,结果为 null,而 document_example 存在于 Elasticsearch 中。

似乎前缀搜索可以用于字符串,但是排除了数组中的项目。

"query": 
    
      "prefix":  "data" : "b" 
    

如果我想在数组中找到数据的前缀,我应该如何在 Elasticsearch 中搜索?谢谢。

【问题讨论】:

【参考方案1】:

您只需在查询中使用通配符;这显示在此处的供应商文档中:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html

【讨论】:

以上是关于如何从 Elasticsearch 中的数组中搜索数据的前缀?的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch:如何在 Elasticsearch 中搜索空值

Elasticsearch:如何在 Elasticsearch 中搜索空值

Elasticsearch:如何在 Elasticsearch 中搜索空值

Elasticsearch:获取 nested 类型数组中的所有元素

Elasticsearch:获取 nested 类型数组中的所有元素

Elasticsearch,如何在所有情况下获得搜索结果