Wie durchführen einer Suche in einem Mehrwertigen Feld in den Solr?
Bin ich mit dificulties zum ausführen einer Suche in Solr. Meine Solr hat ein Mehrwertiges Feld wie dieses Dokument unten:
<int name="id">2166324592435</int>
...others fields
<arr name="Series">
<str>The Walking Dead<\str>
<str>Game of Thrones<\str>
<\arr>
Das Mehrwertige Feld Serie hat die Tv-serie, die das Dokument verweist. Im obigen Beispiel mein Dokument sagt über The Walking Dead und Game of Thrones. Ich kann Dokumente mit einer, zwei oder mehreren Reihen oder auch gar keine Serie.
Was ich tun möchte, ist die Suche in Solr. Ich möchte die Serie, die ich will und Solr sollte gibt die Dokumente, sagt über meine Anfrage. Ich tryed, aber ich konnte es nicht tun. Ich habe versucht, die folgenden:
q=series:The Walking Dead or series:Game of Thrones or ...&wt=json
Denke ich, dass ich falsch mache. Was ist der richtig Weg, es zu tun?
Vielen Dank im Voraus
Thiago
InformationsquelleAutor Thiago | 2012-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zusätzlich zu @user1452132 's Antwort -
Wenn Sie sind auf der Suche
q=series:The Walking Dead
nurthe
gesucht wird über die Serie Feld, während diewalking dead
ist die Suche über das Standard-Suchfeld.Die Abfrage gebildet werden würde-Serie:die ODER text:(Walking Dead)
Können Sie debug die Abfrage mit den debugQuery=auf Ihre Anfrage-url.
Können Sie Dismax query-handler - machen es mehr überschaubar.
InformationsquelleAutor Jayendra
Probieren Sie etwas wie dies:
series:("The Walking Dead" OR "Game of Thrones")
filter query
parameter, das tatsächlich funktioniert.InformationsquelleAutor silviu.ct
Den Einsatz in
fq
- parameter (filter-query),E. g
Solr url-Codierung:
So könnte man eine url wie diese:
InformationsquelleAutor Eric Wang
Je nachdem, was der Zweck der Suche ist versuchen Sie die folgenden zwei Suchanfragen
Serie:"The Walking Dead" ODER die Serie:"Game of Thorns"
Reihe:(The Walking Dead) ODER-Serie:(das Spiel der Dornen)
Bitte Lesen Sie solr query syntax und die zugrunde liegenden Lucene-query-syntax
InformationsquelleAutor user1452132
Ich denke, dass Ihr das eigentliche problem ist mit
OR
als Kleinbuchstaben. Wenn Sie etwas tun, Dasor
Wert wird gesucht indefaultTextField
. Auch vergessen Sie nicht, setzen Sie Anführungszeichen, wenn es ein Leerzeichen in der Abfrage - und du bist auf der Suche nach einer genauen übereinstimmung.InformationsquelleAutor tugcem