node.js - Nodejs Cassandra 自动分页不起作用

标签 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>

我使用eachRow 对结果进行分页,但它不起作用,它只获得前 10 个结果,仅此而已。

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);

在 fetchSize 中,我输入了 100,但仍然只得到 10 个结果,如果我向查询添加 LIMIT,它将起作用,但仍然无法分页,它会在第一页之后停止。

-- 更新 我也尝试使用这个函数并得到相同的结果(10):

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
});

最佳答案

使用搜索组件时,有 2 个不同的设置 - LIMIT 控制 Cassandra 将返回的条目数,fetchSize 指定 Cassandra 返回的页面有多大。如果您有很多结果,那么您需要相应地调整LIMIT,尽管对于大数据集来说它可能不是非常理想。

关于node.js - Nodejs Cassandra 自动分页不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49815581/

相关文章:

Linux内存映射文件(已删除)

javascript - 如何制作node js在线视频流

node.js - Mongoose 中的静态变量可能吗?

solr - 根据 Solr 中的字段长度更改文档提升?

amazon-ec2 - Cassandra Amazon EC2 ,很多 IOWait

Cassandra 数据模型 - 1 个 SCF 或多个 CF

node.js - HTTPS NodeJS 和 Heroku。强制使用 HTTPS?

android - Firebase Cloud Function 在特定时间后自动删除数据

solr - 本地参数在 solr 8 中不起作用,但在 solr 5 中起作用

solr - Apache Solr 索引和过滤查询