Performance SolrCloud:经典分页的变通方法;“开始,行”;参数
我有3个碎片的SolrCloud 我的目的:从类别中选择并处理所有产品 当前实施:循环中的部分选择Performance SolrCloud:经典分页的变通方法;“开始,行”;参数,performance,solr,solrj,solrcloud,Performance,Solr,Solrj,Solrcloud,我有3个碎片的SolrCloud 我的目的:从类别中选择并处理所有产品 当前实施:循环中的部分选择 第一次迭代:q=cat:1&start=0&rows=100 第二次迭代:q=cat:1&start=100&rows=100 第三排:q=cat:1和start=200和rows=100 但是,随着“开始”的增长,性能下降。解释如下: 使使用高“开始”参数的效率更低。对于 例如,如果在索引为500000的情况下请求start=500000&rows=25+ 每个碎片的文档数,目前将导致50
- 第一次迭代:q=cat:1&start=0&rows=100
- 第二次迭代:q=cat:1&start=100&rows=100
- 第三排:q=cat:1和start=200和rows=100
有什么想法可以让我绕过分类中的所有记录吗?我认为简短的答案是“否”-这是Solr如何进行切分的限制。相反,您是否可以在Solr之外收集文档唯一键的列表(可能来自支持数据库),然后使用这些键的集合从索引中检索 e、 g.
ID:(1或2或3或…非常长的列表…
或者,如果唯一关键点是数字,则可以使用移动范围:
ID:[1到1000]
然后ID:[1001到2000]
等等
在上面的两个选项中,您还可以按类别进行限制。但是,它们都应该避免与窗口相关的减速 我认为简短的回答是“不”——这是Solr如何进行切分的限制。相反,您是否可以在Solr之外收集文档唯一键的列表(可能来自支持数据库),然后使用这些键的集合从索引中检索 e、 g.
ID:(1或2或3或…非常长的列表…
或者,如果唯一关键点是数字,则可以使用移动范围:
ID:[1到1000]
然后ID:[1001到2000]
等等
在上面的两个选项中,您还可以按类别进行限制。但是,它们都应该避免与窗口相关的减速 我认为简短的回答是“不”——这是Solr如何进行切分的限制。相反,您是否可以在Solr之外收集文档唯一键的列表(可能来自支持数据库),然后使用这些键的集合从索引中检索 e、 g.
ID:(1或2或3或…非常长的列表…
或者,如果唯一关键点是数字,则可以使用移动范围:
ID:[1到1000]
然后ID:[1001到2000]
等等
在上面的两个选项中,您还可以按类别进行限制。但是,它们都应该避免与窗口相关的减速 我认为简短的回答是“不”——这是Solr如何进行切分的限制。相反,您是否可以在Solr之外收集文档唯一键的列表(可能来自支持数据库),然后使用这些键的集合从索引中检索 e、 g.
ID:(1或2或3或…非常长的列表…
或者,如果唯一关键点是数字,则可以使用移动范围:
ID:[1到1000]
然后ID:[1001到2000]
等等
在上面的两个选项中,您还可以按类别进行限制。但是,它们都应该避免与窗口相关的减速 在Solr中还有另一种更有效的分页方法——它使用排序中的当前位置。这对于深度分页特别有用 请参阅关于wiki页面的部分。这将加快交付速度,因为服务器应该能够对其本地文档进行排序,确定其在该序列中的位置,并在该文档之后返回25个文档
更新:还有一个有用的链接在Solr中还有另一种更有效的分页方法--它使用排序中的当前位置。这对于深度分页特别有用 请参阅关于wiki页面的部分。这将加快交付速度,因为服务器应该能够对其本地文档进行排序,确定其在该序列中的位置,并在该文档之后返回25个文档
更新:还有一个有用的链接在Solr中还有另一种更有效的分页方法--它使用排序中的当前位置。这对于深度分页特别有用 请参阅关于wiki页面的部分。这将加快交付速度,因为服务器应该能够对其本地文档进行排序,确定其在该序列中的位置,并在该文档之后返回25个文档
更新:还有一个有用的链接在Solr中还有另一种更有效的分页方法--它使用排序中的当前位置。这对于深度分页特别有用 请参阅关于wiki页面的部分。这将加快交付速度,因为服务器应该能够对其本地文档进行排序,确定其在该序列中的位置,并在该文档之后返回25个文档
更新:也是有用的链接+1这似乎是我所描述的更好的方法-我建议从基础链接中获取一些信息,并在此处复制(1)传递cursorMark参数并在结果中显示nextCursorMark字段&(2)排序必须包括索引的唯一键。+1这似乎是我所描述的更好的方法-我建议从底层链接获取一些信息,并在这里复制(1)传递cursorMark参数,并在结果中显示nextCursorMark字段&(2)排序必须包括索引的唯一键。+1这似乎是我所描述的更好的方法-我建议从索引中获取一些信息