2016-06-21 6 views
0

ich Probleme, bin mit dem Standard-Operator auf Solr 3.6.1 oder mit dem edismax Parser-Einstellung (q.op = OR)Kann nicht Standardabfrageoperator auf Solr 3.6 eingestellt. *

Ich habe die gleiche Sammlung in solr Version 4.10.4 und 3.6.1

Ich suche nach: pascal fubar in 4.10.4, wo das Wort fubar in keinem Dokument vorkommt. Mit Blick auf die Debug Informationen sehe ich:

dies entspricht vielen Dokumenten (die mit Pascal in ihnen).

ich haben die gleiche Suche auf meinem 3.6.1 solr und sehen:

http://localhost:8983/solr/select?q=maxtor+fubar&wt=json&indent=true&debugQuery=true&defType=edismax&stopwords=true&lowercaseOperators=true&q.op=OR 

+(((name:maxtor) (name:fubar))~2) 

die im Grunde sagt, dass fubar und pascal innerhalb von 2 Positionen auftreten müssen. Das entspricht also null Dokumenten.

Die Abfrage: Pascal ODER Fubar funktioniert.

Hat jemand irgendwelche Hinweise, warum die ~ 2 zur Abfrage hinzugefügt wird? Nur um zu bemerken, dass ich eine Standard-Konfiguration von 4.10.4 solr genommen und den Such-Handler aus meiner 3.6.1-Konfiguration zusammengeführt habe, so dass sie nicht 100% identisch sind.

+0

Ich habe gerade dies mit einem Vanille 3.6.1 mit den Standard-Beispieldokumenten versucht und es tut das gleiche. Der Standardoperator scheint nicht mit dem edismax-Parser zu arbeiten. –

+0

Versucht mit 3.6.2, gleiches Problem. Funktioniert gut mit Standard-Sammlung am 4. *. Also ich denke das ist ein edismatischer Witz. Ich konnte keine Erwähnung finden. Vielleicht funktioniert q.op nicht mit edismax am 3.6. *? –

Antwort

0

Um meine eigene Frage zu beantworten, da jemand das gleiche Problem haben könnte, scheint es ein Feature (Bug) der 3.6+ und frühen 4. * Dismax und Edismax Parser zu sein. Diese Antwort gibt einige explaination

Changing the default operator from OR to AND in Solr (Magento Enterprise)

und es scheint

https://issues.apache.org/jira/browse/SOLR-2649

Auf jeden Fall die 4.10.4 Version solr Zusammenhang mit diesem Problem habe ich versucht, nicht in der gleichen Art und Weise zu verhalten haben.

Die Lösung ist für uns ein Muss Parameter von 1 für OR Verhalten entspricht

&mm=1 

Hope this jemand hilft, wie es mir dauerte ziemlich lange Zeit zu debuggen.

Verwandte Themen