【发布时间】:2021-03-29 09:35:30
【问题描述】:
我有要搜索的字段“xyz”。字段的类型是keyword。字段“xyz”的不同值是-
- a/b/c/d
- a/b/c/e
- a/b/f/g
- a/b/f/h
现在进行以下查询 -
{
"query": {
"query_string" : {
"query" : "(xyz:(\"a/b/c\"*))"
}
}
}
我应该只得到这两个结果 -
- a/b/c/d
- a/b/c/e
但我得到了所有四个结果 -
- a/b/c/d
- a/b/c/e
- a/b/f/g
- a/b/f/h
编辑 - 实际上我不是直接在 ElasticSearch 上查询,我使用的是这个 API https://atlas.apache.org/api/v2/resource_DiscoveryREST.html#resource_DiscoveryREST_searchWithParameters_POST,它为 elasticsearch 创建了上述查询,所以我对 elasticsearch query_string 没有太多控制。我可以更改的是该字段的弹性搜索分析器或其类型。
【问题讨论】:
标签: regex elasticsearch elasticsearch-query apache-atlas