短暂的休息之后,让我们重新向前!昨天我们对其妙的QueryParser进行了部分的总结,其实它的其妙之处又何止如此?
1. QueryParser的模糊匹配查询
我们之前提到过FuzzyQuery,即模糊匹配查询。虽然没有细讲,它的用法与其他Query对象却是大同小异的。不同的是,FuzzyQuery有一个相似度的概念。我们不需要深刻理解,只需要知道它会去匹配和输入词条相似的其他词条即可。
用QueryParser的概念对输入关键字进行分析,我们只需要给输入的关键字加一个符号。如:work~0.2,即把work相似度0.5改为了0.2
2. 通配符与QueryParser
3. QueryParser指定Field查询
4. QueryParser的范围查找(RangeQuery):TO
在Lucene中,还有很多搜索方式,如:多域搜索MutliFieldQueryParser,多索引搜索MultiSearcher,多线程搜索ParalellMultiSearcher等。用法都很简单,原理也大同小异,是比较好理解的。值得关注的是多线程搜索ParalellMultiSearcher,因为若只有单个线程的话,多访问时,总要等上个线程结束,反馈时间是很慢的,这里就需要多线程搜索来提高效率。以上所提到的所有方法都可以互相结合或者嵌套使用,对各种口味的用户都能给予满足,这也正是Lucene的灵活性。