QueryParser
QueryParser把查询表达式转换为lucene内置的查询类型
查询表达式 | 匹配的文档 |
java | 默认域包含java项的文档 |
java junit java or junit | 默认域中包含java和junit中的一个或两个文档。 |
+java +junit java AND junit | 默认域中同时包含java和junit的文档 |
title:ant | Title域中包含ant项的文档 |
title:extreme -subject:sports
title:extreme AND NOT subject:sports | Title域中包含extreme且subject域中不包含sports的文档 |
(agile OR extreme) AND methodology | 默认域中包含methodology且包含agile和extreme的一个或两个项的文档 |
Title:”junit in action” | Title域为junit in action的文档 |
Title:”juint action” -5 | Title域中junit和action之间距离少于5的文档 |
Java* | 包含由java开头的项的文档 |
Java- | 包含与java相似的文档 |
Lastmodified:[1/1/04 to 12/31/04] | Lastmodified域值在1/1/04和12/31/04之间的文档 |
IndexSearcher实例只搜索在它被实例化时已存在的索引。如果制作索引和搜索并发进行,那么最新索引的文档对搜索来说是不可见的。
IndexSearcher.search的函数声明 | 使用场合 |
Hits search(Query query) | 直接进行搜索,无需过滤 |
Hits search(Query query,Filter filter) | 在过滤标准的约束下,把搜索限制在有效文档子之内 |
Void search(Query query,HitCollector results) | 只有当我们需要使用搜索返回的所有文档时才调用这个方法。一般来说,只有搜索结果中前几个文档才是我们所需的,所有使用此方法会降低程序性能 |