Lucene搜索日本字符

时间:2010-04-15 07:17:18

标签: c# asp.net lucene.net

我已经为我的应用程序实现了lucene,除非你介绍了像日语字符这样的东西,否则它会很好用。

问题是,如果我有日语字符串こんにちは,このバイネイです我用こ搜索是第一个字符比它效果好,而如果我在搜索令牌搜索中使用多个日语字符(こんにち)失败并且没有找到任何文件。

lucene是否支持日文字符?为了让它发挥作用,有哪些设置?

3 个答案:

答案 0 :(得分:4)

lucene的内置分析器不支持日语。

你需要安装一些像sen这样的分析器,它是mecab的java端口,非常受欢迎的日本分析器,它的速度很快。

有两种子类型叫做

  1. CJKAnalyzer,支持中文,韩文,并使用二元法
  2. JapaneseAnalyzer,只支持日语,使用Morphological Analyzer,应该非常快。

答案 1 :(得分:3)

我不认为可以一个适用于所有语言的分析器。问题是不同的语言对词边界和词干有不同的规则(例如,泰语不使用空格来分隔单词)。或者,如果有,我当然不想成为维护者!

您需要做的是将文本块“标记”为一种语言或另一种语言,并使用正确的分析器来处理该特定语言。您可以尝试通过角色分析“自动”检测语言(即主要使用日语片假名的文本可能是日语)

答案 2 :(得分:0)

您应该使用最近在Lucene 3.6.0中发布的新日本分析仪。它们基于最近在Kuromoji捐赠给Lucene的优秀LUCENE-3305形态分析仪。

在撰写本文时,文档有点稀疏,所以这里还有一些链接......

  • 如果你使用Solr,这里的sample schema可以使用Websolr
  • 在2012年4月20日herokujp聚会上从我的presentation幻灯片,全文搜索,重点是分析日语。

(这是Lucene的Java版本。)