我的文档有一个分析字段url
,其内容与此类似
http://sub.example.com/data/11/222/333/filename.txt
我想查找filename
以下划线开头的所有文档。我尝试了多种方法(通配符,模式,query_string,span查询),但我从来没有得到正确的结果。我希望这是因为下划线是一个术语分隔符。我怎么写这样的查询?是否有可能在没有改变领域的情况下进行分析(目前我不能做)?
它的ElasticSearch 1.5,但在可预见的未来我们将迁移到至少2.4。
答案 0 :(得分:2)
你或许可以编写script
来做那件事,但这会非常慢。
您最好的选择(即使您说现在不能)正在将字段从analyzed
更改为multi-field。通过这种方式,您可以同时使用已分析和未分析的版本进行工作。
您可以使用Reindex API将旧版本的所有数据迁移到新版本(假设您使用的是ES 2.3或更高版本)。