solr Japanese tokenizer不适用于片假名

solr Japanese tokenizer not working for katakana

我正在使用 solr-6.2.0 和 filedType:text_ja .
我遇到了 JapaneseTokenizer 的问题,它正确地标记了
Dragon Ball Hero


“龙” “龙珠英雄” “球”“英雄”



但它未能正确标记龙珠英雄,
龙珠英雄

“龙” “龙珠英雄” “舞会英雄”

所以后面的情况下用龙珠搜索是不会命中的。

它也没有将迪士尼乐园分成两个词。

首先,我相当确定它正在按预期工作。研究 Kuromoji morphpological analyzer 的工作原理可能是更好地理解其规则和基本原理的最佳方式。

您可以尝试一些方法。您可以将 JapaneseAnalyzer 置于 EXTENDED,而不是 SEARCH 模式,这应该会给您显着更宽松的匹配(当然,很可能以引入更多误报为代价):

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

或者您可以尝试使用 CJKAnalyzer

(顺便说一句,EnglishAnalyzer 也不会将 "Disneyland" 拆分为两个标记)

我能够使用 lucene-gosen Sen Tokenizer
并使用自定义规则和单词权重编译 ipadic 词典来解决这个问题。