【发布时间】:2021-06-29 00:24:59
【问题描述】:
我需要能够查询 ElasticSearch 索引以查看是否有任何文档已经具有如下所示字段的特定值:
"name" : {
"type" : "text",
"fields" : {
"raw" : {
"type" : "keyword"
}
}
}
我最初打算使用normalizer 执行此操作,但我希望避免对索引本身进行更改。然后我找到了match_phrase query,它几乎正是我需要的。问题是它也会返回部分匹配,只要它们开始相同。例如 - 如果我正在搜索值 this is a test,它将返回以下值的结果:
this is a test 1this is a test but i'm almost done nowthis is a test again
在我的情况下,我可以在返回数据后再次检查代码以查看它是否实际上是不区分大小写的完全匹配,但我对 ElasticSearch 相对较新,我想知道是否有任何方法我可以构造我原来的match_phrase 查询,使其不会返回我上面发布的示例吗?
【问题讨论】:
-
我认为不使用分析器/标准化器或更改索引没有任何方法可以做到这一点。
标签: elasticsearch elasticsearch-7