Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/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 Cassandra搜索中仅获取10行_Solr_Cassandra_Datastax - Fatal编程技术网

在Solr Cassandra搜索中仅获取10行

在Solr Cassandra搜索中仅获取10行,solr,cassandra,datastax,Solr,Cassandra,Datastax,我正在使用ApacheSolr进行Datastax Cassandra的多部分搜索。 问题是,每次我只得到10行,即使我做了count(*)查询,我也能检查有1300行属于特定的查询 nandan@cqlsh:testo> select id from empo where solr_query = 'isd:9*'; id -------------------------------------- 5ee5fca6-6f48-11e6-8b77-86f30ca893d3 27e

我正在使用ApacheSolr进行Datastax Cassandra的多部分搜索。 问题是,每次我只得到10行,即使我做了count(*)查询,我也能检查有1300行属于特定的查询

nandan@cqlsh:testo> select id from empo where solr_query = 'isd:9*';

 id
--------------------------------------
 5ee5fca6-6f48-11e6-8b77-86f30ca893d3
 27e3e3bc-6f48-11e6-8b77-86f30ca893d3
 f3156e76-6f47-11e6-8b77-86f30ca893d3
 f315ac74-6f47-11e6-8b77-86f30ca893d3
 f315bc82-6f47-11e6-8b77-86f30ca893d3
 27e3058c-6f48-11e6-8b77-86f30ca893d3
 4016eee4-6f47-11e6-8b77-86f30ca893d3
 1bd33e34-6f47-11e6-8b77-86f30ca893d3
 8f0a9168-6f47-11e6-8b77-86f30ca893d3
 6669cc42-6f47-11e6-8b77-86f30ca893d3

(10 rows)
搜索了几个链接后,我对solrconfig.xml文件进行了更改。变化如下

<requestHandler class="solr.SearchHandler" default="true" name="search">
    <!-- default values for query parameters can be specified, these
         will be overridden by parameters in the request
      -->
     <lst name="defaults">
       <int name="rows">1000000</int>
     </lst>
 <!-- SearchHandler for CQL Solr queries:
    this handler doesn't support any additional components, only default parameters
    -->

  <requestHandler class="com.datastax.bdp.search.solr.handler.component.CqlSearchHandler" name="solr_query">
     <lst name="defaults">
       <int name="rows">1000000</int>
     </lst>
  </requestHandler>

1000000
1000000
但我还是遇到了同样的问题。请让我知道这个问题的解决方案。
谢谢。

我认为不应该从模式管理它。查询有一个
和一个
开始
参数。使用以下选项:行定义要返回的最大项目数,开始定义列表中要返回的第一个项目:

q=isd:9*&rows=22&start=17&wt=json
isd:9*
返回isd以9开头的所有项目

start=17
表示从列表中的第18项开始


rows=22
返回22项,从18项到40项。

我认为不应该从模式管理它。查询有一个
和一个
开始
参数。使用以下选项:行定义要返回的最大项目数,开始定义列表中要返回的第一个项目:

q=isd:9*&rows=22&start=17&wt=json
isd:9*
返回isd以9开头的所有项目

start=17
表示从列表中的第18项开始

rows=22
返回22项,从18项到40项。

试试这个

select id from empo where solr_query = 'isd:9*' limit 1300;
这将为您提供所有1300行,默认情况下,solr将返回的行限制为10行。

试试这个

select id from empo where solr_query = 'isd:9*' limit 1300;

这将为您提供所有1300行,默认情况下,solr将返回的行限制为10。

我使用cqlsh检索记录。那么如何通过cql命令提示符端获取所有记录,我不熟悉这种语法,但这里有几个示例:这样您就可以使用它并在您的系统上进行测试。让我知道最终的查询版本,我会将其添加到答案中。我现在可以检查另外一个问题。。如果我想这样搜索。。solr_query='num1:*1*或num2:*1*';它给了我记录。。但是,如果我在像汉字这样的文本上尝试相同的语法,它对我来说是不起作用的。。solr_query='col1:*金泽* 或col2:*金泽*'; 这给了我0条记录…我正在使用cqlsh检索记录。那么如何通过cql命令提示符端获取所有记录,我不熟悉这种语法,但这里有几个示例:这样您就可以使用它并在您的系统上进行测试。让我知道最终的查询版本,我会将其添加到答案中。我现在可以检查另外一个问题。。如果我想这样搜索。。solr_query='num1:*1*或num2:*1*';它给了我记录。。但是,如果我在像汉字这样的文本上尝试相同的语法,它对我来说是不起作用的。。solr_query='col1:*金泽* 或col2:*金泽*'; 这给了我0条记录…你不会想这样做的,它会非常慢。您需要将start和rows参数传递到solr查询中并分页结果。如果您不想这样做,那么速度会非常慢。您需要将start和rows参数传递到solr查询并分页结果