Ich habe das folgende Problem mit Solr Suche.Solr erhält nur Ergebnisse, wenn der Suchbegriff groß geschrieben wird
Wenn ich nach Wörtern suche, die mit "oe", "ae" or "ue" (Which is in German the same like ö, ä and ü) and the search term is not capitalized
beginnen, gibt Solr 0 Ergebnisse zurück.
Aber, wenn ich nach dem gleichen Wort with capitalized first char of the word, I get results
von Solr suchen.
Wenn ich führen Sie die Suche in einem Debug-Modus sehe ich, dass the non-capitalized search term is always converted from eg. "ue" -> "u"
"response": {
"numFound": 0,
"start": 0,
"docs": []
},
"debug": {
"rawquerystring": "uetze",
"querystring": "uetze",
"parsedquery": "(+DisjunctionMaxQuery((content:utze | title:utze | keywords:utze | description:utze^2.0 | browserTitle:utze^3.0)))/no_coord",
"parsedquery_toString": "+(content:utze | title:utze | keywords:utze | description:utze^2.0 | browserTitle:utze^3.0),
"explain": {},
"QParser": "ExtendedDismaxQParser",
"altquerystring": null,
Während Indizierung folgende Filter verwendet werden:
<fieldType name="text" class="solr.TextField" sortMissingLast="true" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords-de.txt" /> <!-- DE -->
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" splitOnCaseChange="0" splitOnNumerics="0" catenateWords="1" catenateNumbers="0" catenateAll="1" stemEnglishPossessive="1" preserveOriginal="1" />
<filter class="solr.GermanNormalizationFilterFactory" /> <!-- DE -->
<filter class="solr.ASCIIFoldingFilterFactory" /> <!-- DE -->
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" catenateAll="1" preserveOriginal="1" />
</analyzer>
</fieldType>
Wer weiß, wie diese Umwandlung zu vermeiden? Jede Hilfe wird geschätzt!