4 Stimmen

Solr-Suche mit escaping solr reservierter Schlüsselwörter

Wie kann ich Felder abfragen, die in Solr reservierte Schlüsselwörter als ":" enthalten?

Zum Beispiel,

q = 'uri:http://www.example.com'

wirft einen Fehler für " http://www.example.com " mit reserviertem Wort ":"

5voto

MrTopf Punkte 4727

Ich habe dies soeben getestet und es scheint, dass das einfache Escapen von ":" wie ":" den Trick erfüllt:

q = 'uri:http\://www.example.com'

Für den Index meiner eigenen Website neige ich dazu, einfach den Pfad der URL zu speichern, da ich die Domäne selbst kenne, so dass das für mich bisher kein Problem war. Wenn Sie jedoch externe URLs indizieren, benötigen Sie natürlich die vollständige URL.

1voto

zgoda Punkte 12611

Lucene reservierte Zeichen während der Indizierung umbrechen/ersetzen und den Originalwert in einem separaten Feld speichern ( stored="true" indexed="false" im Schema). Wenn Sie reservierte Zeichen durch Leerzeichen ersetzen, erhalten Sie http www.example.com im indizierten Feld und http://www.example.com aufbewahrt. Je nach Art des indizierten Feldes können Sie den genauen Wert abfragen (wenn es sich um eine einfache Zeichenkette handelt) oder nach Token (wenn es einen Analyzer hat).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X