我正在使用Apache Solr的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>
但我仍然遇到同样的问题。请告诉我这将是什么解决方案。 感谢。
答案 0 :(得分:0)
我认为不应该从架构中管理它。该查询具有rows
和start
参数。使用:rows定义要返回的最大项数,start定义要返回的列表中的第一项:
q=isd:9*&rows=22&start=17&wt=json
isd:9*
将返回以9开头的所有项目。
start=17
表示从列表中的第18项开始。
rows=22
会返回22项,从18到40。
答案 1 :(得分:0)
试试这个
select id from empo where solr_query = 'isd:9*' limit 1300;
这将为您提供所有1300行,默认情况下,solr将其返回的行限制为10。