Я индексирую некоторые файлы, написанные на испанском языке в Solr, и иногда появляются символы типа «D» .... Интересно, есть ли какой-нибудь TokenFilter, чтобы избежать этого символа, когда текст имеет акцент (á, é, í, ó ...) или буква -.
Спасибо
Если вам нужен латинский язык, более простое решение - использовать
solr.ASCIIFoldingFilterFactory
как в:
<fieldType name="text" class="solr.TextField" omitNorms="false"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StandardFilterFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ASCIIFoldingFilterFactory"/> <filter class="solr.SnowballPorterFilterFactory" language="Romanian" /> </analyzer> </fieldType>
см. http://wiki.apache.org/solr/LanguageAnalysis для более подробного использования.
Я добавил его, где все остальные фильтры:
fieldType name = "textTight" класс = "solr.TextField" positionIncrementGap = "100"> Анализатор> tokenizer class = "solr.WhitespaceTokenizerFactory" /> filter class="solr.SynonymFilterFactory" синонимы = "synonyms.txt" ignoreCase = "true" expand = "false" /> ....! - Filtro para quitar acentos y ñññ -> charFilter класс = "solr.MappingCharFilterFactory" отображение = "отображение-ISOLatin1Accent.txt" /> .... / Анализатор> / FieldType>
fieldType name = "textTight" класс = "solr.TextField" positionIncrementGap = "100"> Анализатор> tokenizer class = "solr.WhitespaceTokenizerFactory" />
filter class="solr.SynonymFilterFactory"
синонимы = "synonyms.txt" ignoreCase = "true" expand = "false" /> ....! - Filtro para quitar acentos y ñññ -> charFilter класс = "solr.MappingCharFilterFactory" отображение = "отображение-ISOLatin1Accent.txt" /> .... / Анализатор> / FieldType>
Конечно, после этого я перестраиваю свой индекс.
(я добавляю этот ответ, потому что в комментарии это было непонятно)