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 ":"
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 ":"
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.
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 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.