不要急,总有办法的

elasticsearch搜索项过于简单导致搜索时间很长

Elasticsearch | 作者 jyx | 发布于2018年09月11日 | 阅读数:1610

目前数据库数据已经导入完成,有90亿的数据量
如果我的搜索项过于简单 比如搜索 '1'  'qq',  这类短词语,通常需要4-5分钟才会有结果,请问怎么解决?
 
 

Snipaste_2018-09-11_10-12-39.png

 
 
搜索词的不能加限制长度。
当前服务器配置:
CPU : Intel Xeon E3-1240 v5, 3.50GHz, 8M Cache, 8 Threads
HDD : 1 x 4.0 TB SATA
RAM : 16 GB
 
已邀请:

weizijun - elasticsearch fan

赞同来自: jyx

90亿的数据量,8个线程搜索,50个shard的话,有些shard需要在queue中等待,还是HDD集群,查询命中的数据太多,,每个shard的查询都很慢,导致整体查询的缓慢

elasticStack - 90后it大数据男

赞同来自:

这种直接查关键字的只能走queryString吧, 全文检索,如果再加上你文档中有很多字段,这个量是不是很大啊,检索应该不是很快

hufuman

赞同来自:

这个没有办法,调用方加缓存

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

赞同来自:

你的doc数据量非常大,并且term适合精确匹配,确切的说,你term用的不对。
建议使用match走全文检索匹配。

superman

赞同来自:

term的话,可以把评分关掉,用filter

要回复问题请先登录注册