スキーマ ファイルに LanguageAnalysis を追加しました。このステミング フィルター ファクトリを追加した後、機能し始めましたが、これにより、一部の単語が検索不能になりました。
の後にクエリタイムを追加しました。
私のスキーマファイルは次のようになります:
<schema name="test" version="1.50">
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" />
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0" omitNorms="true"/>
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" side="front"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" side="back"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
</types>
<fields>
<field name="Id" type="int" indexed="true" stored="true" required="true" />
<field name="Name" type="text" indexed="true" stored="true" required="false" />
<field name="ShortDescription" type="text" indexed="true" stored="true" required="false" />
<field name="FullDescription" type="text" indexed="true" stored="false" required="false" />
<field name="_version_" type="long" indexed="true" stored="true"/>
</fields>
<uniqueKey>Id</uniqueKey>
<copyField source="Name" dest="NameCopy"/>
<defaultSearchField>Name</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
</schema>
solr.PorterStemFilterFactory を追加すると、バッテリー、革新的、その他などの特定の単語が検索できなくなります。
なぜこれが起こっているのですか?ステミングと LanguageAnalysis のために別のフィルター ファクトリも試しましたが、これと同じように動作します。
私を助けてください。ここで何がうまくいかないのか混乱しています!!!