Если вы хотите искать по частям слова, вам необходимо применить, например, N-Gram Tokenizer, <tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="10"/>
например.
In: "bicycle"
Out: "bicy", "bicyc", "icyc", "icycl", "cycl", "cycle", "ycle"
В этом случае вы сможете осуществлять поиск по части слова.Вам необходимо применить NGramTokenizerFactory для обоих анализаторов:
<fieldType name="custome_field_type" class="solr.TextField" positionIncrementGap="100" multiValued="false">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="10"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="10"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Если вы используете вышеупомянутый тип поля, тогда анализ того же самого на инструменте администрирования будет таким, как показано ниже.
Вы также можете попробовать анализатор запросов ниже.Все зависит от ваших требований.
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
Вы можете изменить или добавить типы полей в schema.xml
и применить их к своему полю.После этого перезапустите сервер, переиндексируйте данные.Вы можете проверить вышеуказанный fieldType для своего поля, если данные совпадают с помощью инструмента администрирования solr.
Я использовал приведенный ниже тип поля и провел анализ с использованием инструмента solr.
Вот полеТип:
<fieldType name="custome_field_type" class="solr.TextField" positionIncrementGap="100" multiValued="false">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="10"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Пожалуйста, найдите анализ того же из инструмента администрирования solr.