对于某字段的关键字的模糊查询
Query query=new WildcardQuery(new Term("sender","*davy*"));
Searcher searcher=new IndexSearcher(indexFilePath);
Hits hits=searcher.search(query);
for (int i = 0; i < hits.length(); i++) {
System.out.println(hits.doc(i).get("name"));
}
对于某字段的关键字的语义查询
Query query=QueryParser.parse("索引","title",analyzer);
Searcher searcher=new IndexSearcher(indexFilePath);
Hits hits=searcher.search(query);
for (int i = 0; i < hits.length(); i++) {
System.out.println(hits.doc(i).get("name"));
}
对于多字段的关键字的查询
Query query=MultiFieldQueryParser.parse("索引",new String[]{"title","content"},analyzer);
Searcher searcher=new IndexSearcher(indexFilePath);
Hits hits=searcher.search(query);
for (int i = 0; i < hits.length(); i++) {
System.out.println(hits.doc(i).get("name"));
}
复合查询(多种查询条件的综合查询)
Query query=MultiFieldQueryParser.parse("索引",new String[]{"title","content"},analyzer);
Query mquery=new WildcardQuery(new Term("sender","bluedavy*"));
TermQuery tquery=new TermQuery(new Term("name","jerry"));
BooleanQuery bquery=new BooleanQuery();
bquery.add(query,true,false);
bquery.add(mquery,true,false);
bquery.add(tquery,true,false);
Searcher searcher=new IndexSearcher(indexFilePath);
Hits hits=searcher.search(bquery);
for (int i = 0; i < hits.length(); i++) {
System.out.println(hits.doc(i).get("name"));
}
分享到:
相关推荐
Lucene 提供了丰富的 API,使得开发者可以轻松地构建、索引和查询文本数据。 **作者与历史** Lucene 的主要贡献者是 Doug Cutting,他是一位经验丰富的全文检索专家,曾参与过 V-Twin 搜索引擎的开发,并在 Excite...
标题“lucene简单介绍及solr搭建使用”涉及了两个主要的开源搜索技术:Lucene和Solr。Lucene是Java开发的一个全文检索库,而Solr则是基于Lucene构建的企业级搜索平台,提供了更高级的功能和管理界面。 **Lucene简介...
【Lucene介绍】 Lucene是一个基于Java的全文检索库,由Apache软件基金会的Jakarta项目维护。它不是一个完整的全文搜索引擎,而是一个可嵌入到其他应用程序中的库,用于实现高效、快速的全文检索功能。Lucene的目标...
* lucene-queryparser:提供了查询解析的功能,用于将用户输入的查询语句转换为Lucene的查询对象。 * lucene-analyzers-common:提供了基础的分词器,用于将文本拆分为单词。 * lucene-highlighter:提供了关键字...
5. 默认实现了一套强大的查询引擎:Lucene的查询引擎默认实现了布尔操作、模糊查询(FuzzySearch)、分组查询等多种功能,用户无需编写代码即可获得强大的查询能力。 Lucene在搜索过程中,首先需要建立索引。索引...
Lucene支持多种查询语法,包括布尔查询、短语查询、模糊查询等。 **使用流程** 1. **初始化**:创建一个`IndexWriter`实例,设置索引目录和分析器。 2. **创建索引**:使用`Document`对象构建待索引的文档,添加...
以上就是关于“Lucene索引的简单使用”的详细介绍,包括其核心概念、创建和查询索引的步骤以及一些高级特性。希望对你理解和应用Lucene有所帮助。在实际开发中,可以根据需求选择合适的Analyzer,优化索引策略,以...
经典的Lucene实例代码及详细解析以及Lucene结构流程介绍 Lucene是一个功能强大且灵活的开源搜索引擎库,它提供了一个简单易用的API,允许开发者快速构建搜索应用程序。下面将对Lucene的实例代码和结构流程进行详细...
本话题聚焦于“Lucene多字段查询”和“文字高亮显示”,这两个特性在信息检索和数据挖掘中具有广泛应用。 首先,让我们深入理解“Lucene多字段查询”。在信息检索系统中,用户可能希望根据多个字段来过滤和排序结果...
通过本文对Lucene查询语法的介绍,我们了解了Lucene支持的各种查询方式及其特点。无论是程序编码法还是字符串构造查询,都能够灵活应对不同的查询需求,帮助开发者和用户快速准确地获取所需信息。随着技术的发展,...
**Lucene 常用功能介绍** Lucene 是一个高性能、全文检索库,由Apache软件基金会开发并维护。它提供了一个简单但功能强大的API,用于在各种应用中实现全文索引和搜索。以下是对Lucene常用功能的详细介绍: 1. **...
Lucene支持多种查询表达式,如布尔查询、短语查询、模糊查询等,还提供了查询优化策略,以提高查询性能。此外,书中还涵盖了查询评分机制,它是决定搜索结果排序的关键因素。 对于Lucene的使用,书中不仅给出了基础...
它不包含像百度或 Google Desktop 这样的现成搜索界面,而是提供底层的索引和查询引擎,让开发者可以根据需求自由设计上层应用。 2. Lucene 能做什么: - Lucene 的核心功能是对文本数据进行索引和搜索。它可以...
### 开源搜索框架Lucene介绍 #### 一、Lucene简介 Lucene是一款非常优秀且成熟的开源全文索引检索工具包,它完全采用Java语言编写,由Doug Cutting于1999年创建,并于2001年10月捐赠给了Apache基金会,成为Apache...
《Lucene in Action》是关于Apache Lucene的权威指南,这本书深入浅出地介绍了全文搜索引擎的构建和优化。Lucene是一个高性能、全文本搜索库,它允许开发人员在应用程序中轻松实现复杂的搜索功能。这本书主要面向...
Lucene是一个功能强大的搜索引擎库,提供了多种查询方式,其中SpanQuery和PhraseQuery是两个重要的查询类型。本文将详细介绍SpanQuery和PhraseQuery的使用和区别。 一、SpanQuery SpanQuery是一个抽象类,提供了...
x-oss-process=style/pnp8(39.97KB,下载次数:225)下载附件2019-10-2502:02上传〖课程介绍〗:Lucene是apache下的一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎。Lucene的目的是为软件开发人员...
Lucene支持布尔查询、短语查询、模糊查询等多种查询类型。 4. **结果排序**:Lucene通过评分机制(如TF-IDF)对搜索结果进行排序,得分最高的结果优先展示。 5. **过滤与聚合**:Filter和Collector组件可以用于...
- **基本概念**:介绍Lucene索引文件的基本术语和概念。 - **基本类型**:定义了索引文件中使用的数据类型。 - **基本规则**:阐述了文件格式设计的基本原则。 - **具体格式**: - **正向信息**:包括段元数据、...