我有一个关于 solr 的问题,我似乎无法克服......
搜索“マルチェロ ブラック”(单词之间有正常空格)时,我得到了预期的结果(其中 15 个)。但是,当搜索“マルチェロ ブラック”(实际上在单词之间有一个表意空格 \u3000 而不是正常的空格)时,我没有得到任何结果。
我的 fieldType 配置非常基本:
<fieldType name="text_cjk" class="solr.TextField">
<analyzer>
<tokenizer class="solr.CJKTokenizerFactory"/>
</analyzer>
</fieldType>
我试过添加
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-japanese.txt"/>
像映射一样
"\u3000" => "\u0020"
甚至
"\u3000" => " "
但这没有帮助。
也尝试添加
<filter class="solr.PositionFilterFactory" />
正如Language Analysis: Chinese, Japanese, Korean中所建议的那样,但随后开始在第一次搜索中获得 200+ 个结果,在第二次搜索中获得 1000+ 个结果。也不好。
运行 solr 版本 3.5,因此使用 CJKBigramFilterFactory 是没有问题的。(只是说,真的不知道这是否会有所帮助。)
阅读了很多关于 solr 配置的日本博客(感谢 Google Chrome 让这一切变得如此简单!),但所有示例都只有 CJKBigramFilterFactory,有时还有额外的 LowerCaseFilterFactory,但对我的情况似乎没有任何帮助。
有什么想法我还能尝试使这项工作吗?