私のsolrフィールドの1つは、次の有人で構成されています。
<fieldType name="text_exact" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" splitOnNumerics="0" preserveOriginal="1" types="wdfftypes.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" splitOnNumerics="0" preserveOriginal="1" types="wdfftypes.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
これは、ステミングが不要な場合に機能しますが、問題を引き起こしている別のユース ケースがあり、人々は次の組み合わせを探し始めています。
The Ivy : この場合、予想される結果が The である場合に、単に ivy が返されます。これはストップワードが原因であることは理解していますが、これを達成する方法です。たとえば、引用符内で「ツタ」を検索する場合、これは機能するはずです。
(Mom & Me) OR ("mom and me"): この場合も & が削除されるか、ステートメントの一部に mom と me の両方を含む結果が返されます。
新しいデータのみが正しい方法で動作し、インデックスを再作成できない場合は問題ありません。また、schema.xml ファイルを変更すると、完全なレプリケーションがトリガーされますか?
よろしく、
アユシュ