据我了解,为了Elasticsearch执行"模糊"涉及"相关性分数"的查询,它必须迭代并计算所有可能匹配(可能包括数千或数百万行)的相关性,即使"限制"在查询上只有" 10"。
Elasticsearch如何在提供合理响应时间的同时实现这一目标?
答案 0 :(得分:2)
一种可能性是搜索过程可以在获得足够的结果后终止,即使它们没有最高分。因此,并非所有结果都需要计算。
答案 1 :(得分:1)
在Lucene 4中,模糊搜索会修剪搜索空间,而不是像以前一样强制搜索:
Lucene's FuzzyQuery is 100 times faster in 4.0
希望ElasticSearch很快就会更新到Lucene 4.