Solr - замена персонажа - PullRequest
       10

Solr - замена персонажа

1 голос
/ 19 ноября 2009

У меня есть Solr с индексированной базой данных. В моей базе данных все данные на латышском языке. Проблема в том, что мне нужно искать слово «Рига» так, как будто это слово «Рига». Конечно, я могу определить синоним - Rīga = Riga, но могу ли я просто определить, что буква i - это буква i? Я читал кое-что о solr.ISOLatin1AccentFilterFactory, но насколько я понял, это не для кодировки UTF-8, верно? Советы?

Ответы [ 3 ]

2 голосов
/ 19 ноября 2009

Используется PatternReplaceFilterFactory с индексом и запросом. Кажется, работает правильно.

1 голос
/ 26 октября 2011

Посмотрите на ICUTokenizerFactory, который обеспечивает нормализацию символов Unicode. Чрезвычайно полезный и очень легкий.

http://lucene.apache.org/solr/api/org/apache/solr/analysis/ICUTokenizerFactory.html

http://site.icu -project.org /

1 голос
/ 24 ноября 2009

ISOLatin1AccentFilterFactory - это именно то, что вы ищете ... до тех пор, пока ударение EXISTS в наборе символов latin-1 (младшие 7 битов UTF-8 идентичны латинскому-1). Я упомянул, что, по-видимому, не существует в ISO-8859-1, поэтому ISOLatin1AccentFilterFactory не будет работать в этом конкретном случае. Я по-прежнему рекомендую вам использовать ISOLatin1AccentFilterFactory в дополнение к любым исключениям, которые вы позаботитесь об использовании PatternReplaceFilterFactory, так как, вероятно, есть некоторые латышские символы, которые помогут (предположим, у меня нет опыта работы с латышским языком)

К вашему сведению, я действительно пытался использовать мои настройки Solr с ISOLatin1AccentFilterFactory, и это не помогло в этом случае.

...