-1

我正在使用 solr-6.2.0 和 filedType : text_ja 。
我遇到了 JapaneseTokenizer 的问题,它正确标记
ドラゴンボールヒーロー


“ドラゴン” “ドラゴンボールヒーロー” “ボール” “ヒーロー”



但它未能正确标记 ドラゴンボールヒーローズ,
ドラゴンボールヒーローズ

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

因此,用 ドラゴンボール 进行搜索在以后的情况下不会命中。

它也没有将 ディィズニーランド 分成两个词。

4

2 回答 2

1

首先,我相当肯定它按预期工作。研究Kuromoji 形态分析器的工作原理可能是更好地理解其规则和原理的最佳方式。

您可以尝试几件事。您可以将 JapaneseAnalyzer 放入EXTENDED,而不是SEARCHmode ,这应该会给您带来显着的松散匹配(尽管很可能以引入更多误报为代价,当然):

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

或者您可以尝试使用CJKAnalyzer来代替。

(顺便说一句,EnglishAnalyzer 也不会将“迪士尼乐园”分成两个标记)

于 2017-03-02T22:15:38.043 回答
0

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

于 2017-10-24T03:44:21.093 回答