找到问题的解决办法了么?

字段被逗号分隔,如何进行检索

Elasticsearch | 作者 chaochao6411 | 发布于2019年09月06日 | 阅读数:4045

例如,"config_id":123,456,789
这样的字段如果通过搜寻456,将所有的包含456都高效的查询出来(不要用wildcard和prefixmatch,效率太低),我看官方文档有,Word Delimiter Token Filter不知道是干啥用的,怎么用,文档没有说明,求助大佬
已邀请:

Ombres

赞同来自:

理解是对的,要想查出这种数据,优先考虑如何让456 进入倒排索引,这是使用索引的最优方式,最能提升查询的速度。
 
你说的Word Delimiter Token Filter ,这个filter主要用于按照不同定义分隔字符串,默认配置是 以非字母和数字字符 分隔字符串 。
如果你的数据都是你描述中的形式,使用默认配置就能解决你的问题。问题中的123,456,789 就会被拆成 123    456       789三个term

envy666

赞同来自:

百度下ES自定义分词器(比如根据分号分词),很多教程的。。。。

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

使用ngram分词试试

要回复问题请先登录注册