我使用的是solr-6.2.0和filedType:text_ja
我正面临着JapaneseTokenizer的问题,它正确的标记化了ドラゴンボールヒーロー↓
“ドラゴン”
“ドラゴンボールヒーロー”
“ボール”“ヒーロー”
但它没有正确地标记化ドラゴンボールヒーローズ,
ドラゴンボールヒーローズ
↓
“ドラゴン”
“ドラゴンボールヒーローズ”
“ボールヒーローズ”
因此,用ドラゴンボール搜索在以后的情况下不会出现。
另外,它不会将ディズニーランド分成两个单词。
答案 0 :(得分:1)
首先,我确信它按预期工作。研究Kuromoji morphpological analyzer如何运作可能是更好地理解它的规则和理由的最佳方式。
您可以尝试一些事情。您可以将日语分析器置于EXTENDED
而不是SEARCH
模式,这样可以为您提供更宽松的匹配(当然,最有可能以引入更多误报为代价):
Analyzer analyzer = new JapaneseAnalyzer(
null,
JapaneseTokenizer.Mode.EXTENDED,
JapaneseAnalyzer.getDefaultStopSet(),
JapaneseAnalyzer.getDefaultStopTags()
);
或者您可以尝试使用CJKAnalyzer。
(顺便说一下,EnglishAnalyzer并没有将迪斯尼乐园"分成两个代币)
答案 1 :(得分:0)
我能够使用 lucene-gosen Sen Tokenizer 来解决这个问题,并使用自定义规则和单词权重编译ipadic字典。