Lucene索引多语言内容的方法?

时间:2013-09-26 08:28:05

标签: lucene

我有一个APP支持基于lucene的搜索。

或支持中文和英文搜索的其他方法?

1 个答案:

答案 0 :(得分:0)

你好我不完全理解你的问题,但我想我对你想要达到的目标有一个大概的了解。

如果你想分开搜索语言,我建议你在索引时添加一个Lucene Field“Language”。根据您正在编制索引的文本的语言。

因为您可以使用

轻松区分中文字符和英文字符

Character.UnicodeBlock:

http://docs.oracle.com/javase/7/docs/api/java/lang/Character.UnicodeBlock.html

例如,您要检查字符串“str”的字符1:

if(Character.UnicodeBlock.of(**str[1]**) == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)
{ do something }

这样,在搜索时,您可以以相同的方式检测中文输入,并在您的语言字段中添加条件到查询。

现在,如果您想进行混合搜索,我建议您构建自定义分析器,分析每个单词并在索引中存储翻译。