У меня проблема с запросом к Solr с использованием следующего типа поля:
<fieldType name="text_ci" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
Как вы можете видеть, он применяет SnowballPorterFilterFactory при индексации и запросах.Если я индексирую что-то вроде
Мышь и веселье
Это индексируется как:
Как вы можетесм. слово «Мышь» превращено в «Мус» с помощью «SnowballPorterFilterFactory».Что мы и хотим.Однако, когда мы ищем
Мышь *
Кажется, что «SnowballPorterFilterFactory» не применяется таким же образом.Я думаю, из-за * в конце.
Мой вопрос: есть ли способ, чтобы "SnowballPorterFilterFactory" узнал о подстановочных знаках?Так что, когда я запрашиваю
Мышь *
, я не получаю 0 результатов.
Интересно, если я запрашиваю
mous *
Запись возвращается.
Или кто-то может предложить лучший способ запроса / индексации этого типа поля?
Спасибо, Дейв