Node.js Nodejs Cassandra自动分页不工作
我使用的是Cassandra+Solr,查询是“Solr_query”,总是得到最多10个结果。 这是来自以下方面的金额:Node.js Nodejs Cassandra自动分页不工作,node.js,solr,cassandra,datastax-enterprise,datastax-node-driver,Node.js,Solr,Cassandra,Datastax Enterprise,Datastax Node Driver,我使用的是Cassandra+Solr,查询是“Solr_query”,总是得到最多10个结果。 这是来自以下方面的金额: <requestHandler class="solr.SearchHandler" default="true" name="search"> <lst name="defaults"> <int name="rows">10</int> </lst> </requestHandler> 在fetc
<requestHandler class="solr.SearchHandler" default="true" name="search">
<lst name="defaults">
<int name="rows">10</int>
</lst>
</requestHandler>
在fetchSize中,我输入了100,但仍然只得到10个结果,如果我向查询添加限制,它将工作,但仍然不分页,它将在第一页之后停止
--UPDTAE
此外,我尝试使用此函数并得到相同的结果(10):
使用搜索组件时,有两种不同的设置-
LIMIT
控制Cassandra返回的条目数量,fetchSize
指定Cassandra返回的页面大小。如果您有许多结果,那么您需要相应地调整限制
,尽管对于大型数据集,这可能不是非常理想。使用搜索组件时,有两种不同的设置-限制
控制Cassandra将返回的条目数量,和fetchSize
指定Cassandra返回的页面有多大。如果您有许多结果,那么您需要相应地调整限制
,尽管对于大型数据集,这可能不是非常理想的。参数行
是否设置为10限制查询?这里是文档的链接参数行
是否设置为10来限定查询?这里是文档的链接最好的方法是查询Solr,而不是来自Cassandra,我使用了:
最好的方法是查询Solr,而不是从Cassandra,我使用了:
您所说的“fetchSize指定Cassandra返回的页面有多大”在这里表示它将行设置为与限制相同的设置。这对于Cassandra部分是正确的,因为Cassandra返回所有数据匹配条件,但是当与搜索组件一起使用时,这有点不同-让我把它放在答案中…获取所有行的解决方案是什么?您所说的“fetchSize指定Cassandra返回的页面有多大”是什么意思在这里,它表示将行设置为与限制相同的设置。对于Cassandra部分,这是正确的,因为Cassandra返回所有数据匹配条件,但当与搜索组件一起使用时,这略有不同-让我将此作为答案…获取所有行的解决方案是什么?是的,我看到了,但我需要它来处理fetchSize。是的,我看到了,但我需要它来处理fetchSize。
var query = 'SELECT * FROM contacts WHERE solr_query = ?';
var solr_query = '{"q":"some_query"}';
this.client.eachRow(query, [solr_query], { prepare: true, autoPage : true, fetchSize: 100 }, function(index, result) {
}, callbackFunc);
this.client.stream(query, [solr_query], { prepare: true }).on('readable', function () {
var row;
while (row = this.read()) {
contacts.push(row);
}
})
.on('end', function () {
console.log(contacts.length); // 10
});