在字段名称中搜索带有破折号的 elasticsearch 字段

Posted

技术标签:

【中文标题】在字段名称中搜索带有破折号的 elasticsearch 字段【英文标题】:search elasticsearch fields with dashes in the field name 【发布时间】:2016-06-25 16:31:30 【问题描述】:

编辑:似乎一个重要的细节是带有破折号的字段名称具有更多的子属性,这是我正在尝试搜索的子属性。

我有一些弹性搜索文档,在某些字段名称中带有破折号,如下所示:


    "item": 
        "item-value": 
            "subvalue": "subvalue"
        ,
        "item-name": "name"
    ,
    "other_field": "other_value"

当我尝试对“other_field”和“item.item-name”进行匹配查询时,会返回匹配项。对 item.item-value.subvalue 的查询每次都返回 0 次命中,即使应该有匹配项也是如此。

"match": "item.item-subvalue.subvalue": "subvalue"

还有什么我可以在查询或设置中进行操作以使该字段匹配而不重组文档吗?

【问题讨论】:

你确定吗?因为我尝试过同样的方法,所以它产生了正确的结果。 curl -XPOST http://localhost:9200/index_name/_search -d '"query":"match": "item.item-name": "name"' 给我hits": "total": 1,"max_score": 0.30685282,"hits": [ "_index": "inddex_name","_type": "type_name","_id": "1","_score": 0.30685282,"_source": "item": "item-name": "name","item-value": "value","other_field": "other_value"] 请显示您的索引的映射。可能是 item-value 是一个 nested 字段。 【参考方案1】:

看起来像一个错字。 “匹配”:“item.item-value.subvalue”:“子值”

【讨论】:

以上是关于在字段名称中搜索带有破折号的 elasticsearch 字段的主要内容,如果未能解决你的问题,请参考以下文章

在 Access 的组合框中显示带有破折号的社会保险号

在 Twitter API 中搜索带有 Dash 的单词

带有破折号/连字符的架构名称 i HyperSQL

IOS应用名称

ElasticSearch搜索与空白带有分隔符的文本上的查询,而不是冲刺

为啥不能在 bash 4.1.2 中访问带有破折号的环境变量?