词条搜索是LUCENE最为简单的一种搜索方式,通过对某个固定的词条的指定,它实现检索索引中存在该词条的所有文档。
例子:
package com;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
public class TermQueryDemo {
/**
* @param args
*/
public static void main(String[] args) {
try {
IndexSearcher search = new IndexSearcher("d://dbindex");
Term t = new Term("phoneNumber","13538946680");
Query query = new TermQuery(t);
Hits hits = search.search(query);
for(int i=0;i<hits.length();i++)
{
System.out.println(hits.doc(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意:
一个TERM包括两个信息,分别为词条本身文本内容和词条所在的FIELD的信息。
上面的结果表示查询出phoneNumber=13538946680的结果。
词条搜索的核心是跟具体的分词器有关系,如果用的是标准分词器StandarAnalyzer他是将所有的词分成一个一个的,所以词条查询的时候只能是一个汉字才可以找的到。如果用庖丁的话,庖丁是按照一个词组一个词组来分词,那么就词条查询就可以查询词组。
分享到:
相关推荐
- **索引建立**:Lucene首先将输入的文档转换为一系列的词条,并为每个词条建立索引。此过程中,文档会被分词、去噪、标准化等处理,以提高搜索效率和准确性。索引建立过程是耗时的,尤其是对于大规模的数据集来说,...
【Lucene搜索引擎2】入门教程 Lucene是一个由Apache软件基金会Jakarta项目组开发的开源全文检索引擎工具包。它的核心作者是Doug Cutting,一位在全文索引和检索领域具有深厚经验的专家。Lucene并非一个完整的应用,...
### 基于Lucene_Heritrix的垂直搜索引擎的研究与应用 #### 一、垂直搜索引擎的基本介绍 垂直搜索引擎是一种专注于特定领域或特定主题的信息检索工具。与通用搜索引擎相比,垂直搜索引擎更加聚焦,旨在为用户提供...
- `org.apache.lucene.analysis`:包含将文本转换为可索引词条的类,支持多种语言分析,包括中文分词。 - `org.apache.lucene.queryParser`:用于解析用户查询并转换为内部查询格式。 - `org.apache.lucene.document...
- **倒排索引(Inverted Index)**:Lucene内部使用倒排索引来实现高效的文本搜索功能,通过词条来指向包含该词条的所有文档。 #### 三、Lucene核心技术详解 ##### 1. 索引构建(Indexing) - **文档添加**:如何向索引...
### Lucene搜索引擎框架基础实践 #### 一、Lucene简介 Lucene是一个高性能、全功能的文本搜索引擎库,由Java语言编写。它提供了一整套完整的文本搜索功能,包括索引构建、文档检索等,是目前应用最广泛的开源全文...
Apache Solr是基于Lucene的高性能企业级搜索平台,也是目前最受欢迎的企业级搜索解决方案之一。相比Lucene,Solr提供了更丰富的功能集和更好的集群支持能力,适用于大规模数据的实时检索场景。 ##### 2.1 Solr的...
《Lucene4.X实战:构建类百度搜索的大型文档海量搜索系统——排序篇》 在搜索引擎的世界里,正确的排序机制是提升用户体验的关键因素之一。Apache Lucene,作为一款强大的全文检索库,提供了丰富的功能,包括对搜索...
TF-IDF 是一种统计方法,用来评估一个词条在一个文档中的重要程度。公式如下: \[ \text{TF-IDF}(t,d,D) = \text{TF}(t,d) \times \text{IDF}(t,D) \] 其中: - \( \text{TF}(t,d) \) 表示词条 \( t \) 在文档 \...
#### 五、Lucene搜索过程解析 搜索过程涉及到多个环节,包括查询解析、文档评分、结果排序等: 1. **查询解析**:将用户的查询字符串转换为查询对象。 2. **文档评分**:根据文档与查询的相关性进行评分,常用算法...
综上所述,**Lucene 3.0 原理与代码分析**覆盖了全文检索的基础理论、Lucene 的总体架构、索引文件格式、索引过程、段合并过程、打分公式、搜索过程、查询语法、查询对象、分词器等多个方面,为开发者提供了深入理解...
Lucene是一款高性能、全功能的文本搜索引擎库,由Java编写而成。它能够为应用程序提供强大的搜索能力,并且具有高度可定制化的特点。Lucene的核心在于其高效的倒排索引机制,通过这种机制可以实现快速的全文检索。 ...
全文检索技术,尤其是基于Lucene的解决方案,为企业和个人提供了高效管理大规模文档的方法。通过对Lucene系统结构、索引机制以及应用实例的分析,可以看出Lucene的强大功能和灵活性。未来随着大数据技术的发展,全文...
- **跳跃表规则**:用于快速定位词典中的词条,提高搜索速度。 ### 索引过程分析 创建索引的过程涉及多个步骤,从文档的预处理到实际的索引写入。重要步骤包括: 1. 创建**IndexWriter**实例,设置索引目录和配置...