身安不如心安,屋宽不如心宽 。

用elasticsearch搭建的上亿的数据,分词了不能精确查询,不分词不能模糊查询,系统就是这样吗?

Elasticsearch | 作者 amy320 | 发布于2016年10月12日 | 阅读数:10823

还是新手,可能问题比较弱
我上亿的数据,不用分词,如果搜索的字符串里面有空格,就会搜出来上万条记录
如果用了分词,要模糊查询的时候,正则或者通配符在后面还好,在词首,肯定超时。
 
大家是怎么解决这个问题的?
另:我用的python的Elasticsearch库,match,filtered,regexp都试过了
已邀请:

weizijun - elasticsearch fan

赞同来自:

上亿条数据在词首有模糊查询的话,那只能每条拿出来比较啊,性能自然差。
不分词的话,就是整个字符串的匹配了,看你如何写匹配的正则或者模糊查询

amy320

赞同来自:

比如这个字符串"i'm a chinese"
如果建索引的时候没有分词,我要搜索chinese,是不是得模糊查询,上亿数据速度巨慢。
如果建索引的时候设置了分词,我要搜索chinese,是不是就会很快,因为有分词了。
以上结论是否正确?
 

pingyuan

赞同来自:

千万不能将*放在前面,如果想要实现这样类似的效果,call me(1098377824)

要回复问题请先登录注册