Обработка составных слов в solr

Есть сложные слова, которые могут писаться как «ручная сумка» или «сумочка». Если у нас есть «сумочка» в индексе solr, то при поиске «сумка», как я могу показать результат «сумочка». Я пробовал с парсером синонимов из нескольких слов. Но для этого мне нужно добавить add handbag=>hand bag в файл синонимов. Но список очень длинный. Я не могу добавлять слова в список.


person Kamal Kishore    schedule 13.03.2014    source источник


Ответы (1)


Solr уже предоставляет фильтр декомпозиции на основе словаря. Дополнительные сведения см. в вики Solr: https://wiki.apache.org/solr/LanguageAnalysis#Decompounding

person spyk    schedule 13.03.2014
comment
С solr.DictionaryCompoundWordTokenFilterFactory мне нужно будет предоставить файл словаря, и ключевые слова, упомянутые в этом файле, будут только управляться. Но это также можно сделать с помощью solr.SynonymExpandingExtendedDismaxQParserPlugin, где мне приходится вручную добавлять ключевые слова в файл синонимов. Я не хочу добавлять такие файлы ключевых слов. Я хочу, чтобы все слова обрабатывались динамически. - person Kamal Kishore; 14.03.2014
comment
Но вам все равно нужно будет предоставить какой-то словарь, чтобы фильтр мог определять допустимые границы слов. Я обычно использую список слов enable2k для английского текста.ссылка - person spyk; 16.03.2014
comment
Разве это невозможно сделать без предоставления какого-либо словаря. то есть он должен генерировать составные слова для каждой строки независимо от словарных слов. - person Kamal Kishore; 20.03.2014