Могу ли я защитить короткие слова от фильтра n-грамм в Solr?

Я видел этот вопрос о поиске коротких слов в Solr. Мне интересно, есть ли другое возможное решение аналогичной проблемы. Я использую EdgeNGramFilter с minGramSize, равным 3. Я хочу защитить определенный набор более коротких слов (в основном, двухбуквенных аббревиатур) от игнорирования, но я хотел бы оставить этот minGramSize равным 3 для всего остального. EdgeNGramFilter не поддерживает список защищенных слов. Есть ли какой-либо фильтр или параметр, который делает это возможным в рамках одного типа поля, или мне нужно будет его написать?

Или я неправильно об этом думаю?


person Kimberly    schedule 21.02.2013    source источник


Ответы (1)


Много думал об этом, но ответ на другой вопрос, который вы упомянули, кажется единственным способом. Однако это будет полезной функцией для EdgeNGramFilter.

На данный момент вы можете сохранить для него поле копирования и KeepWordFilterFactory только с нужные вам сокращения. Или, если ваш список сокращений заранее неизвестен, используйте LengthFilter.

person arun    schedule 22.02.2013
comment
Спасибо за ваш вклад. Я оставлю этот вопрос открытым на некоторое время в надежде на другие идеи, но я думаю, что вы, вероятно, правы. - person Kimberly; 26.02.2013