Ich versuche, Synonyme zu Arbeiten mit Begriffen, die Whitespace haben, die anscheinend ein Mangel von solr ist. Zu hacken es, ich versuche PatternReplaceCharFilterFactory zu verwenden Leerzeichen mit Bindestrichen zu ersetzen und dann meine Synonyme Silbentrennung:Verwenden von PatternReplaceCharFilterFactory für Mehrwort-Synonyme
<fieldType name="special_synonyms" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
preserveOriginal="1"
/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([/\s+])" replacement="-" />
<filter class="solr.KStemFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
</analyzer>
das Analysetool verwenden erhalte ich die richtigen Synonyme, wenn ich meinen Mehrwort-Begriff eingeben , aber wenn ich eine Abfrage durchführe, findet sie 0 Ergebnisse, wenn ich den Bindestrich nicht manuell hinzufüge.