gpt4 book ai didi

java - Solr搜索查询时间随着开始不断增加而增加

转载 作者:搜寻专家 更新时间:2023-11-01 02:26:49 41 4
gpt4 key购买 nike

我目前在 Solr 中有超过 2500 万个文档,并且数量会逐渐增加。我需要在如此大的 Solr 索引中搜索记录。当开始较低时查询响应时间很低,例如 0。但是随着开始增加,例如 100000,在 Solr 中搜索也需要时间。即使在 Solr 中的大型数据集上使用高起始编号,我如何才能更快地进行搜索?行保持不变,只有开始不断增加。我不希望响应时间随着开始不断增加而增加,而是希望为 start=100000 返回的结果应该与 start=0 花费相同的时间假设 rows=1000 因为这是性能问题。任何帮助将不胜感激。

最佳答案

您面临的问题称为深度分页。有 a good article about itsolr.plan incomplete issue在 Solr 的跟踪器上。

文章中提到的解决方案将要求您对结果进行排序,如果这对您不可行,则该解决方案将无效。这个想法是按稳定属性排序,在文章中是 price,然后用价格范围过滤,比如 fq=price:[9000+TO+10000] .

如果您将 fq 与合适的 start 结合使用 - 例如 start=100030 - 您将获得更好的性能,因为 solr 不会收集与 fq 不匹配的文档。

但是您需要至少提前进行一次查询以获取合适的元数据,例如总共找到了多少文档。

关于java - Solr搜索查询时间随着开始不断增加而增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20522131/

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