indexing - 在not_analyzed字段的中间搜索

标签 indexing elasticsearch analyzer

我有一个Elasticsearch索引,其中的一个字段标记为not_analyzed。该字段包含以空格分隔的值列表,如下所示:

Value1 Value2 Value3

现在,我想执行搜索以查找此字段包含“Value2”的文档。我已经测试过使用文本短语前缀进行搜索,但是搜索“Value2”没有任何匹配。另一方面,对“Value1”或“Value1 Value2”的搜索匹配。我不想在搜索中出现任何模糊性,而只希望精确匹配(这就是将该字段设置为not_analyzed的原因)。

有什么办法可以这样搜索吗?

从对Elasticsearch的有限了解,我猜测我需要设置要使用空白分析器进行分析的字段。那正确吗?

最佳答案

正确,使用StandardWhitespace分析器等将单词分解成块,按空格,逗号等分隔。然后simple_query_string查询将与“Value2”匹配,无论其在文档字段中的位置如何。

Standard Analyzer还将对您的字段进行小写,这意味着仅匹配小写的搜索词。

关于indexing - 在not_analyzed字段的中间搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21159257/

相关文章:

indexing - 将 sitecore 6.6 索引配置升级到 sitecore 7(使用 ComputedFields)

database - 如果表上有索引,如何处理表更新/插入

angular - 如何在iframe中的Kibana仪表板中绕过登录

ios - Cocos2D 库泄露?

elasticsearch - 具有英语分析器的elasticsearch同义词过滤器

arrays - Swift:如何定义固定数组灵活的String数组

php - 无法将 mysql 时间戳映射到elasticsearch

elasticsearch - 如何监控发送到 Elasticsearch 的查询

search - 如何让 Elasticsearch fuzzy_like_this 将 like_text 标记视为 AND 而不是 OR?

search - Elasticsearch在过滤​​器上使用自定义分析器