Solr японский токенизатор не работает для катакана

Я использую solr-6.2.0 и filedType: text_ja .
Я столкнулся с проблемой японского токенизатора, его правильного токенизации
ド ラ ゴ ン ボ ー ル ヒ ー ロ ー


"ド ラ ゴ ン" "ド ラ ゴ ン ボ ー ル ヒ ー" "" "ー ル" "ヒ ー ロ ー"



Но это не в состоянии токенизировать ズ, ゴ ン ン ー ル ヒ ー ロ ー ズ ズ
ド ラ ゴ ン ボ ー ル ヒ ー ロ ー ズ

"ド ラ ゴ ン" "ド ラ ゴ ン ボ ー ル ヒ ー" "" "ボ" ル ヒ ー ロ ー ズ "

Следовательно, поиск с помощью ド ラ ゴ ン ボ ー hit в последнем случае не срабатывает.

Кроме того, он не разделяет ド ィズニーランド на два слова.

2 ответа

Решение

Я смог решить эту проблему с помощью Lu Toceizer от Lucene-Gosen,
и составление ipadic словаря с пользовательскими правилами и весами слов.

Во-первых, я совершенно уверен, что он работает как задумано. Изучение того, как работает морфологический анализатор Kuromoji, вероятно, было бы лучшим способом лучше понять его правила и обоснование.

Есть несколько вещей, которые вы можете попробовать. Вы можете положить японский анализатор в EXTENDED, вместо SEARCH режим, который должен дать вам значительно более слабое соответствие (хотя, скорее всего, за счет введения большего количества ложных срабатываний, конечно):

Analyzer analyzer = new JapaneseAnalyzer(
        null, 
        JapaneseTokenizer.Mode.EXTENDED, 
        JapaneseAnalyzer.getDefaultStopSet(), 
        JapaneseAnalyzer.getDefaultStopTags()
        );

Или вы можете попробовать использовать CJKAnalyzer.

(Кстати, EnglishAnalyzer также не разделяет "Диснейленд" на два токена)

Другие вопросы по тегам