gpt4 book ai didi

Solr 深度分页与cursorMark - 对大型结果集的内存/CPU 影响?

转载 作者:行者123 更新时间:2023-12-02 04:23:36 25 4
gpt4 key购买 nike

我正在考虑将 Solr 用于需要一些深度分页的用例,认为将大约 100k 总结果的上限从约 1000 万条记录的集合中拆分为 1k 个页面。我很快发现为什么使用 start & num_rows 对于这样大小的结果集来说是一个坏主意,并在此过程中遇到了cursorMark。我发现的关于cursorMark 的文章建议记录访问的时间相对恒定,无论在集合中的位置如何,这对于我的情况来说似乎是完美的。

我的问题是,这条路线是否会对性能产生任何影响?假设我一次返回 1000 条记录,使用cursorMark 深入分页到 1k、10k、100k、100 万条记录的结果集,在内存/CPU 使用方面是否有任何性能差异?

最佳答案

理论上,当你向下翻页时,它会变得更快一些。实际上,差异非常小,您不会注意到。

标准的非光标搜索使用一个小队列来保存前 X 个结果。每个匹配项都会添加到该队列中,如果队列已满,则会推出较差的匹配项。

游标搜索还使用大小为 X 的队列。如果每个匹配项的排序值超出前一个游标标记,则每个匹配项都会添加到该队列中,如果队列已满,则推出较差的匹配项。因此,当您翻页更深时,插入的内容就会减少一些。

https://lucidworks.com/blog/2013/12/12/coming-soon-to-solr-efficient-cursor-based-iteration-of-large-result-sets/ 有一些非常说明性的光标性能图表。

关于Solr 深度分页与cursorMark - 对大型结果集的内存/CPU 影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33019605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com