很抱歉交叉发布。以下问题也发布在 Elastic Search 的 google 组中。
简而言之,我试图找出为什么在对包含约 150 万条记录的 ES 索引进行搜索时无法获得最佳性能。
目前,我能够在 2 秒内获得大约 500-1000 次搜索。我认为这应该快几个数量级。目前我也没有使用节俭。
这是我检查性能的方式。
使用 0.19.1 版本的 pyes(从 github 尝试了稳定版和开发版) 使用 0.13.8 版本的请求
conn = ES(['localhost:9201'],timeout=20,bulk_size=1000)
loop_start = time.clock()
q1 = TermQuery("tax_name","cellvibrio")
for x in xrange(1000000):
if x % 1000 == 0 and x > 0:
loop_check_point = time.clock()
print 'took %s secs to search %d records' % (loop_check_point-loop_start,x)
results = conn.search(query=q1)
if results:
for r in results:
pass
# print len(results)
else:
pass
感谢您提供的任何帮助,以帮助我扩大搜索范围。
谢谢!