2016-05-08 10 views
0

Für verschiedene Felder wie q, start, row etc in SOLR wir entsprechende Funktionen in SOLR-node-client haben.Funktion für `fq` Feld von SOLR in SOLR-node-Client

Also, wenn ich möchte eine Abfrage für das folgende konstruieren:

http://host:port/solr/eposro/select?q=cats.0%3A1&start=0&rows=4&wt=json&indent=true 

ich so etwas wie diese verwenden:

var query = client.createQuery() 
       .q({cats.0 : 1}) 
       .start(0) 
       .rows(4); 

Allerdings gibt es eine Filterabfragefeld in SOLR, fq. Ich finde keine entsprechende Funktion in SOLR-node-client.

Nach gibt mir Fehler:

var query = client.createQuery() 
       .q({cats.0 : 1}) 
       .fq({'brand':'real'}) 
       .start(0) 
       .rows(4); 

ich einen Fehler erhalten, dass fq Funktion existiert nicht.

Mache ich irgendwas falsch oder gibt es eine andere Möglichkeit, eine Filterabfrage mit SOLR-node-client zu erreichen?

+1

RTFM: http://lbdremy.github.io/solr-node-client/code/query.js.html Query.prototype.matchFilter() –

+0

Ich verstehe nicht wirklich, wie man das benutzt. Wie konstruiere ich die Abfrage daraus? –

Antwort

1

createQuery() gibt ein Query Objekt zurück und es hat eine matchFilter Methode.

Beispiel:

var query = client.createQuery() 
      .q({cats.0 : 1}) 
      .matchFilter('brand', 'real') 
      .start(0) 
      .rows(4); 

HTH

Verwandte Themen