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)
|
只有当我们需要使用搜索返回的所有文档时才调用这个方法。一般来说,只有搜索结果中前几个文档才是我们所需的,所有使用此方法会降低程序性能
|
分享到:
相关推荐
本篇文章将深入探讨Lucene-5.2.1的关键知识点,通过实例解析其工作原理和使用方法。 1. **Lucene核心组件** - **Analyzer**:文本分析器是Lucene处理文本的第一步,它负责将输入的字符串分解为一系列的词项...
4. **学习与实践**:结合官方文档、社区资源和实际项目,逐步熟悉Lucene的使用和源码结构,加深对搜索技术的理解。 总的来说,通过深入学习Lucene 4.0.0的源码,开发者不仅能掌握搜索引擎的基础原理,还能了解到...
`IndexSearcher`是最常见的实现,它使用倒排索引来查找与查询匹配的文档。同时,Lucene支持评分机制,通过`Similarity`接口来计算文档的相关度。 5. **文档存储**:`Directory`接口表示索引的存储位置,如文件系统...
这个"lucene-5.5.3.zip"压缩包包含了Lucene 5.5.3版本的所有组件和资源,使得开发人员可以方便地集成到自己的项目中。 1. **Lucene核心概念** - **索引**:Lucene的核心是建立倒排索引,它将文本内容转换成可快速...
3. **搜索索引**:利用QueryParser构建查询对象,然后使用IndexSearcher执行查询,获取搜索结果。 4. **调试与优化**:通过阅读源代码,理解底层逻辑,可以针对性地优化性能,解决搜索问题。 总结,Lucene 3.0.1是...
本文将深入探讨Lucene 3.5.0的核心特性和使用技巧。 首先,Lucene是一个开源的、高性能的全文检索框架,由Apache软件基金会维护。它并非完整的搜索引擎,而是提供了一套强大的索引和搜索工具,允许开发者构建自己的...
- **API改进**:提供了一个更简洁、直观的API,使得开发者更容易理解和使用Lucene的功能。 - **多语言支持**:2.1.0版本增强了对多语言的支持,包括对中文等非英文字符集的处理。 3. **使用Lucene进行搜索** - *...
2. **搜索索引**:使用`IndexSearcher`进行搜索,`QueryParser`帮助解析查询字符串。 3. **读取索引**:`DirectoryReader`用于读取索引,获取文档信息。 4. **评分模型**:通过`Similarity`接口定制评分策略。 5. **...
通过深入研究`lucene-5.2.1-src.tgz`中的源代码,开发者可以了解Lucene的工作机制,定制自己的搜索解决方案,或为项目贡献代码,进一步提升Lucene的功能和性能。总之,Apache Lucene 5.2.1是一个强大且灵活的搜索...
- **执行查询**:使用QueryParser解析查询字符串,并通过IndexSearcher进行查询,获取匹配的文档。 - **结果处理**:得到查询结果后,使用ScoreDoc和Document类来获取文档的相关信息和评分。 5. **最佳实践** - ...
在本文中,我们将深入探讨如何使用Lucene查询工具类和`IndexSearcher`进行分页查询,这在处理大量数据时尤其有用。Lucene是一个强大的全文搜索引擎库,它提供了高效、可扩展的文本检索功能。在Java开发环境中,...
- **查询执行**:使用Query对象(如TermQuery、BooleanQuery)和IndexSearcher,配合HitCollector或TopDocs来获取结果。 - **结果处理**:Hit、ScoreDoc等类用于表示搜索结果,可以获取文档ID、得分等信息。 6. *...
入门Lucene时,可以创建一个简单的HelloWorld程序,使用Lucene提供的API如IndexWriter进行索引的创建和维护,以及IndexSearcher进行索引的搜索。在Java环境中,需要引入相关的Lucene库,如lucene-analyzers-common、...
2. 搜索文档:构造Query对象,使用IndexSearcher执行搜索,ResltSet获取结果。 3. 关闭资源:确保使用完毕后,关闭IndexWriter和IndexReader以释放资源。 五、问题与解决方案 在Windows环境下,可能会遇到磁盘权限...
3. 查询索引:使用`IndexSearcher`和`QueryParser`构建并执行查询,获取匹配的文档。 4. 打分和排序:Lucene使用TF-IDF算法对匹配的文档进行打分,并根据分数进行排序。 5. 检索结果:从`TopDocs`对象中获取最相关的...
2. 执行搜索:使用QueryParser创建查询对象,然后通过IndexSearcher执行搜索,获取匹配的结果集。 3. 结果排序与过滤:Lucene支持自定义评分函数和Filter,可以根据需要对搜索结果进行排序和过滤。 总结,Apache ...
Lucene的查询解析器如`QueryParser`将用户输入的查询字符串转换为内部的查询对象。`Query`接口及其子类代表不同的查询类型,如`TermQuery`、`BooleanQuery`等。查询执行由`IndexSearcher`完成,它根据索引来查找...
`src/core/org/apache/lucene/queryparser`目录下,包含各种查询解析器,如`QueryParser`,用于将用户输入的查询语句转化为`Query`对象。 3. 搜索:`src/core/org/apache/lucene/search`目录下的代码实现了搜索算法...
Lucene社区活跃,不断有新的改进和扩展,如Solr和Elasticsearch,它们基于Lucene提供更高级的服务,如分布式搜索、集群管理和数据分析。 总结,通过对“lucene-2.9.0-src.tar.gz”的研究,我们可以深入学习全文检索...
- **lucene-core-3.6.0-javadoc.jar**:这个文件包含了Lucene 3.6.0核心组件的API文档,是开发者理解和使用Lucene的重要参考资料。它详细解释了每个类、接口和方法的功能和用法,便于查阅和学习。 - **lucene-test-...