При попытке обновить Solr 4.3.0 до 4.4.0 Solr Я столкнулся с этим исключением:Solr 4.4: StopFilterFactory и enablePositionIncrements
java.lang.IllegalArgumentException: enablePositionIncrements=false is not supported anymore as of Lucene 4.4 as it can create broken token streams
, которые привели меня к this issue. Мне нужно иметь возможность сопоставлять запросы независимо от промежуточных стоп-слов (которые использовались для работы с enablePositionIncrements = "true"). Например: «foo of the bar» найдет документы, соответствующие «foo bar», «foo of bar» и «foo of the bar». С этой опцией, устаревшей в 4.4.0, я не понимаю, как поддерживать ту же функциональность.
package javadoc добавляет:
Если выбран анализатор фильтры стоп-слова «есть» и «», то для документа, содержащего строку «синего небо», только жетоны «синий» , «небо» индексируется, положение («небо») = 3 + позиция («синий»). Теперь фразовый запрос «синий - небо» найдет этот документ, потому что тот же анализатор фильтрует одни и те же слова остановки из этого запроса. Но фразовый запрос «голубое небо» не нашел бы этого документа, потому что инкремент позиции между «синим» и «небом» равен только 1.
Если это поведение не соответствует потребностям приложения, необходимо настроить парсер запросов чтобы не учитывать приращения позиции при генерации фразовых запросов.
Но нет никакого упоминания о том, как на самом деле настроить парсер запросов для этого. Кто-нибудь знает, как справиться с этой проблемой, поскольку Solr движется к 5.0?
вы нашли решение этой проблемы? –
@VishalParekh nope - пока не найдено решение ... – condit
@condit У меня такая же проблема, я думал о повторной реализации «StopFilterFactory» и снова включил опцию «enablePositionIncrements» в false – MoustafaAAtta