Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用具有复合唯一键的Solr进行深度分页时缺少nextCursorMark_Solr_Cassandra_Paging_Datastax Enterprise_Unique Key - Fatal编程技术网

使用具有复合唯一键的Solr进行深度分页时缺少nextCursorMark

使用具有复合唯一键的Solr进行深度分页时缺少nextCursorMark,solr,cassandra,paging,datastax-enterprise,unique-key,Solr,Cassandra,Paging,Datastax Enterprise,Unique Key,我正在使用DataStax Cassandra和Solr Cassandra 2.0.10.71 | DSE 4.6.0 | CQL spec 3.1.1 | Thrift protocol 19.39.0 我有一个Cassandra专栏系列: CREATE TABLE kSpace.colfam1 ( id text, date timestamp, desc text, origin set<text>, PR

我正在使用DataStax Cassandra和Solr

Cassandra 2.0.10.71 | DSE 4.6.0 | CQL spec 3.1.1 | Thrift protocol 19.39.0
我有一个Cassandra专栏系列:

    CREATE TABLE kSpace.colfam1 (
      id text,
      date timestamp,
      desc text,
      origin set<text>,
      PRIMARY KEY ((id), date)
    ) WITH CLUSTERING ORDER BY (date DESC);
响应返回,但它没有任何nextCursorMark

    {
      "responseHeader": {
        "status": 0,
        "QTime": 1,
        "params": {
          "sort": "id asc, date desc",
          "indent": "true",
          "q": "*:*",
          "_": "1429004324135",
          "cursorMark": "*",
          "wt": "json",
          "rows": "2"
        }
      },
      "response": {
        "numFound": 284901,
        "start": 0,
        "docs": [
          {
            "_uniqueKey": "[\"000047bc-921d-4487-b5f3-c70520e0a7bf\",\"1428601411276\"]",
            "id": "000047bc-921d-4487-b5f3-c70520e0a7bf",
            "date": "2015-04-09T17:43:31.276Z",
            "desc": "description1 description2"
          },
          {
            "_uniqueKey": "[\"0000531e-efee-42b4-9c52-136e9a106827\",\"1428601409625\"]",
            "id": "0000531e-efee-42b4-9c52-136e9a106827",
            "date": "2015-04-09T17:43:29.625Z",
            "desc": "description3 description4"
          }
        ]
      }
    }

从Solr 4.7开始,可以使用深度分页

DSE 4.6.x有Solr 4.6。您必须等待将来的版本(可能是4.7版)才能访问此功能。

Rahul

正如phact所说,DataStax企业版主要版本4.6.x将不包括Solr 4.7(支持深度分页的Apache Solr的最早版本,在引入“nextCursorMark”时)

您可以通过获取DSE 4.7 Early Access Program release的副本(我不建议将其用于生产,但它有Solr 4.7)

为了在早期版本(Apache Solr<4.7)中允许在Solr中进行分页,您必须绕过分页。请求对“行”进行限制并设置“开始”索引的分组结果可能是一种可行的选择

查看

使用:和

例如:

?q=yourquery&rows=10&start=0
然后
?q=yourquery&rows=10&start=10


这并不漂亮,但在DSE 4.7发布供公众使用之前,这是一个可行的替代方案。

我不确定您对
uniqueKey
的定义是否有效,请阅读此处,解释为什么游标标记仍然不存在,因为您没有有效的
uniqueKey
    http://localhost:8983/solr/kSpace.colfam1/select?
      q=*%3A*
      &sort=id+asc%2C+date+desc
      &rows=2
      &wt=json
      &indent=true
      &cursorMark=*
    {
      "responseHeader": {
        "status": 0,
        "QTime": 1,
        "params": {
          "sort": "id asc, date desc",
          "indent": "true",
          "q": "*:*",
          "_": "1429004324135",
          "cursorMark": "*",
          "wt": "json",
          "rows": "2"
        }
      },
      "response": {
        "numFound": 284901,
        "start": 0,
        "docs": [
          {
            "_uniqueKey": "[\"000047bc-921d-4487-b5f3-c70520e0a7bf\",\"1428601411276\"]",
            "id": "000047bc-921d-4487-b5f3-c70520e0a7bf",
            "date": "2015-04-09T17:43:31.276Z",
            "desc": "description1 description2"
          },
          {
            "_uniqueKey": "[\"0000531e-efee-42b4-9c52-136e9a106827\",\"1428601409625\"]",
            "id": "0000531e-efee-42b4-9c52-136e9a106827",
            "date": "2015-04-09T17:43:29.625Z",
            "desc": "description3 description4"
          }
        ]
      }
    }