2016-10-19 1 views
0

Ich arbeite an Datastax Cassandra mit Apache Solr für mehrere Teilsuche. Problem ist, jedes Mal, wenn ich nur 10 Zeilen bekomme, auch wenn ich count (*) Abfrage, kann ich überprüfen, gibt es 1300 Zeilen gehören zu bestimmten Abfrage.Nur 10 Zeilen in Solr Cassandra suchen

[email protected]: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) 

Nach wenigen Links suchen, ich Änderungen in solrconfig.xml Datei. und Änderungen sind wie folgt.

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

Aber immer noch bekomme ich das gleiche Problem. Bitte lassen Sie mich wissen, was die Lösung dafür sein wird. Danke.

Antwort

0

Ich denke nicht, dass es aus dem Schema verwaltet werden sollte. Die Abfrage hat einen rows und einen start Parameter. diejenigen verwenden: Zeilen definiert die maximale Anzahl der Elemente zurück, Anfang definiert das erste Element in der Liste zurück:

q=isd:9*&rows=22&start=17&wt=json 

isd:9* gibt alle Posten, bei denen ISD beginnt mit 9.

start=17 sagt Beginn 18. Artikel in der Liste.

rows=22 Renditen 22 Artikel, von 18 bis 40.

+0

Ich kehre verwende um die Datensätze nach cqlsh abzurufen. Dann, wie kann ich alle Datensätze von cql Eingabeaufforderung Seite, –

+0

Ich bin nicht vertraut mit dieser Syntax, aber hier sind ein paar Beispiele: https://docs.datastax.com/de/datastax_enterprise/4.6/datastax_enterprise/srch/ srchCql.html, damit Sie damit herumspielen und es auf Ihrem System testen können. Lassen Sie mich die letzte Abfrageversion wissen und ich füge sie der Antwort hinzu. –

+0

ein weiteres Problem Ich bin in der Lage zu überprüfen, .. wenn ich versuche, so zu suchen .. solr_query = 'num1: * 1 * OR num2: * 1 *'; Es gibt mir Datensätze .. aber wenn ich gleiche Syntax auf Text wie chinesisches Zeichen versuche, funktioniert es nicht für mich .. solr_query = 'col1: * 金泽 * ODER col2: * 金泽 *'; das gibt mir 0 Datensätze .... –

0

versuchen, diese

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

das Sie alle 1300 Zeilen geben wird, begrenzt durch Standard solr die Zeilen, die es bis 10.

+0

Sie werden es nicht so machen wollen, es wird furchtbar langsam sein. Sie möchten Start und Zeilenparameter in die Solr-Abfrage übergeben und die Ergebnisse pagen – nbpeth

Verwandte Themen