如何提高lucene中的搜索查询效率?

时间:2016-10-18 07:08:50

标签: lucene

我正在搜索我的应用程序。对于输入的搜索词(foo),

  

1)我寻找完全匹配(foo),如果它返回NULL

     

2)我使用模糊搜索(foo~),如果它返回NULL

     

3)我使用通配符(foo *)。

这是一种有效的方法吗?或者是否有lucene方法来完成所有这些操作?

1 个答案:

答案 0 :(得分:1)

在Lucene中没有内置的方法。但是,通常这种情况是在客户端的Lucene之外处理的。是的,根据我的经验,它非常有效,因为它通常提供高精度的结果。在互联网上的一些来源中,它被称为分阶段搜索

E.g。你创建一个完全匹配的查询,让我们说 TermQuery("字段"," foo"),如果这个查询没有返回任何内容,那么使用FuzzyQuery和最后一个PrefixQuery(我会推荐它通过WildcardQuery,为你想做的最后一个案例)