- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我目前在 Solr 中有超过 2500 万个文档,并且数量会逐渐增加。我需要在如此大的 Solr 索引中搜索记录。当开始较低时查询响应时间很低,例如 0。但是随着开始增加,例如 100000,在 Solr 中搜索也需要时间。即使在 Solr 中的大型数据集上使用高起始编号,我如何才能更快地进行搜索?行保持不变,只有开始不断增加。我不希望响应时间随着开始不断增加而增加,而是希望为 start=100000
返回的结果应该与 start=0
花费相同的时间假设 rows=1000
因为这是性能问题。任何帮助将不胜感激。
最佳答案
您面临的问题称为深度分页
。有 a good article about it在 solr.pl和 an incomplete issue在 Solr 的跟踪器上。
文章中提到的解决方案将要求您对结果进行排序,如果这对您不可行,则该解决方案将无效。这个想法是按稳定属性排序,在文章中是 price
,然后用价格范围过滤,比如 fq=price:[9000+TO+10000]
.
如果您将 fq
与合适的 start
结合使用 - 例如 start=100030
- 您将获得更好的性能,因为 solr 不会收集与 fq
不匹配的文档。
但是您需要至少提前进行一次查询以获取合适的元数据,例如总共找到了多少文档。
关于java - Solr搜索查询时间随着开始不断增加而增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20522131/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!