Я использую solr для поиска имен и для совпадения с частичными совпадениями. Используя минимум 2 я получаю следующие ngrams для "Bob Smith":Как включить Solr ngrams
- бо
- боб
- см
- сми
- Smit
- кузнец
Этот однако не включает «bob s» и ничего не возвращает, если я ищу этот запрос. Какие существуют варианты включения этого формата в ngrams? Вот полевое поле, которое я использую:
<fieldType name="edgytext" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Это решение работало для меня с точки зрения создаваемой ngram, но по какой-то причине, если я ищу «bob s», я ничего не получаю, но если я ищу «bob sm», я получаю желаемый результат. Я пробовал с обоими с 1 и 2. – user3688241
Используйте вкладку «Анализ» под администрацией interfaceto, где сравнивается сравнение. – MatsLindh