ElasticSearch子字符串匹配

8nuwlpux  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(146)

假设我有一个字符串

/something/other/123

我希望能够搜索123.由于某些原因,字符串被索引为关键字,当我尝试执行

GET /_search
{
  "query": {
    "wildcard": {"myfield": {"value": "*123"}}
  }
}

它什么也没给,为什么呢?

mctunoxg

mctunoxg1#

**通配符查询适用于keyword字段。**如果您有.keyword子字段(如果Elasticsearch为您的myfield生成了Map),则下面的查询将返回结果。

{
    "query": {
        "wildcard": {
            "myfield.keyword": { --> note .keyword in the field name.
                "value": "*123"
            }
        }
    }
}

相关问题