Мне нужно увеличить результаты, которые можно найти в начале строки. Например, для стран: Египта и Сейшельских островов.Solr поиск с начала строки
Типы пользователей "е" в текстовом поле и ответ ГУМЗА будут:
- S е YCH х LL й сек
- Е gypt
Но как видите, «Египет» начинается с «е». И я нужен этот результат быть увеличен до:
- E gypt
- S е YCH е Л.Л. е s
Любые другие результаты должны быть оценены как обычно , Есть ли какие-то специальные токенизаторы/сериализаторы? Или могут быть специальные символы в синтаксисе SolrQuery?
UPD:
Часть моей schema.xml
, который описывает тип текстового поля:
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="20" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Я полагаю, вы используете например, NGramTokenizer или какой-то такой? – femtoRgon
@femtoRgon, вы правы. Я обновил свой вопрос, чтобы вы могли посмотреть на мою конфигурацию типа текстового поля. –