0

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

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

4

1 回答 1

0

您好,我不完全理解您的问题,但我想我对您想要实现的目标有一个粗略的了解。

如果您想单独搜索语言,我建议您在索引时添加一个 Lucene 字段“语言”。根据您要索引的文本的语言。

由于您可以使用以下方法轻松区分中文字符和英文字符

Character.Unicode 块:

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 }

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

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

于 2013-09-26T15:18:40.983 回答