Ich habe Probleme mit Solr Wildcard-Suche und Stoppwörter. Ich habe in stoppwords.txt einige Stoppwörter "zu", "für", "ist" hinzugefügt. Wenn ich keine Wildcard-Suche mache, funktioniert es perfekt.
Abfrage ->q=learningObjectTopic:to&rows=1
Solr Stoppwörter nicht mit Wildcard-Suche
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">3</int>
<lst name="params">
<str name="q">learningObjectTopic:to</str>
<str name="rows">1</str>
</lst>
</lst>
<result name="response" numFound="0" start="0"/>
</response>
Wenn ich eine Wildcard seiner Rückkehr Daten suchen.
Abfrage ->q=learningObjectTopic:*to*&rows=1
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">5</int>
<lst name="params">
<str name="q">learningObjectTopic:*to*</str>
<str name="rows">1</str>
</lst>
</lst>
<result name="response" numFound="75" start="0">
<doc>
<str name="id">56f4bc54b2de79277297dcab</str>
<str name="learningObjectId">LO1_SK1_18</str>
<str name="learningObjectTopic">Introduction to Web Development</str>
<str name="category">learningObject</str>
<long name="_version_">1537824533459763200</long>
</doc>
</result>
</response>
Das ist mein Analysator
ist<fieldType name="text_general" class="solr.TextField" multiValued="false" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
Was ich suche ist, "zu" sollten in der Wildcard-Abfrage auch nicht überein. Was fehlt mir hier?
Hinweis: learningObjectTopic: um übersprungene "to" -Werte in Ergebnissen zu suchen, wenn ich in Stopwörtern "to" hinzugefügt habe, funktioniert die Stopword-Indizierung.
Hat das Feld, nach dem Sie suchen, in der Datei schema.xml gespeichert = "true"? Wenn solr die ursprüngliche Zeichenfolge speichert und zurückgibt, müssen Sie den Abfrageanalysator überprüfen, um zu sehen, wie die Stoppwörter verarbeitet werden. –
@EricN Dies ist meine Felddefinition ' ' –
Haben Sie nach der Änderung der Analysatordefinition eine Neuindizierung durchgeführt? – femtoRgon