如果我用 ES 做搜索,查询可以召回千万级的文档,难道 ES 要给所有文档打分后再返回给我 topN?
求做这行的同学指点。
1
WinMain 2018-01-06 21:31:52 +08:00
那就根据不同算法召回最有可能的一部分呗,不知道我说的对不对。
|
2
Morriaty 2018-01-07 00:34:21 +08:00
ES 检索的过程相当于一个 map reduce 的过程,在各个 shard 里分别检索,最后再有 coordinator 整合。所以大数据量的计算是被分配到集群的各个 shard 上去了。
而且如果真的一个 query 召回了太多的 doc,那基本可以认为该 query 是个 stopword。 |