Field的改进
Lucene1.4主要提供下列四种不同类型的Field:
Keyword,UnStored,UnIndexed,Text
在Lucene2.0中是通过三个内部类Field.Index,Field.Store,Field.termVector(项向量)的组合来区分Field的具体类型.具体如下:
Field.Store.COMPRESS:压缩保存,用于长文本或二进制数据
Field.Store.YES:保存
Field.Store.NO:不保存
Field.Index.NO:不建立索引
Field.Index.TOKENIZED:分词,建索引
Field.Index.UN_TOKENIZED:不分词,建索引
Field.Index.NO_NORMS:不分词,建索引.但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储空间
Field.TermVector.NO:不保存term vectors
Field.TermVector.YES:保存term vectors
Field.TermVector.WITH_POSITIONS:保存term vectors.(保存值和token位置信息)
Field.TermVector.WITH_OFFSETS:保存term vectors.(保存值和Token的offset)
Field.TermVector.WITH_POSITIONS_OFFSETS:保存term vectors.(保存值和token位置信息和Token的offset)
而Field的构造函数也用到了这三个内部类:
Field(String, byte[],Field.Store)
Field(String, Reader)
Field(String, Reader, Field.TermVector)
Field(String, String, Field.Store, Field.Index)
Field(String, String, Field.Store, Field.Index, Field.TermVector)
其中Field(String, Reader)和Field(String, Reader, Field.TermVector)默认为Field.Index.TOKENIZED和Field.Store.NO的.我们可以很简单的建立起1.4版本的Field类型和2.0间的转换(这看上去似乎没有什么必要,只是觉得对于理解还是有点帮助的)
Keyword <==> Store.YES,Index.UN_TOKENIZED;
UnIndexed <==> Store.YES,Index.NO;
UnStored <==> Store.NO,Index.TOKENIZED;
Text(String, Reader) <==> Store.NO,Index.TOKENIZED;
Text(String,String) <==> Store.YES,Index.TOKENIZED.
分享到:
相关推荐
lucene1.4工具包
**Lucene 2.0 API 和 Lucene 3.0 API 深度解析** Lucene 是一个由 Apache 软件基金会开发的全文搜索引擎库,它为开发者提供了在 Java 应用程序中实现高性能、可扩展的全文搜索功能的能力。Lucene 的 API 设计得相当...
在实际应用中,Lucene可以与Spring、Solr、Elasticsearch等框架集成,构建高效的企业级搜索引擎。它不仅适用于网站内容搜索,还可以应用于日志分析、知识图谱等领域。通过不断优化和扩展,开发者可以充分利用Lucene...
5. **内存与磁盘优化**:在Lucene 1.4中,为了提高性能,引入了块级索引的概念,允许一次性加载多个文档,减少了磁盘I/O。同时,缓存机制也得到了改进,可以有效减少重复计算和提高响应速度。 6. **多语言支持**:...
Lucene.Net 2.0 已编译 dll
《Lucene.Net 2.0(C#):深入解析全文检索源代码》 Lucene.Net 2.0 是一个基于 .NET Framework 的全文检索库,它为开发人员提供了强大的文本搜索功能,支持C#编程语言。这个开源项目是Apache Lucene的.NET版本,旨在...
**Lucene.Net 2.0 for ASP.NET组件详解** Lucene.Net是一款开源全文搜索引擎库,是Apache软件基金会Lucene项目的.NET版本。这个压缩包“Lucene.Net.rar 2.0 ver”包含了适用于ASP.NET开发的组件,使得在.NET环境中...
Lucene.NET 2.0 API是这个开源项目的特定版本,它在.NET平台上实现了Lucene的功能,让.NET开发者可以轻松地在应用程序中集成强大的搜索引擎。 Lucene.NET的核心功能包括: 1. **索引创建与更新**:Lucene.NET允许...
《Lucene 2.0及其分词工具包详解》 Lucene是一款由Apache软件基金会开发的全文搜索引擎库,专门用于信息检索。它以其强大的搜索功能和高效的性能在Java开发领域中备受推崇。作为一款开源项目,Lucene为开发者提供了...
《深入理解Lucene.Net 2.0:源码与文档解析》 Lucene.Net是一个开源的全文搜索引擎库,它是Apache Lucene项目在.NET平台上的实现,由DotLucene发展而来,广泛应用于各种信息检索和文本挖掘场景。这个资料包包含了...
《最新版Lucene.Net盘古分词2.0——深度解析全文索引与中文分词技术》 在当今大数据时代,高效、精准的信息检索成为企业和个人获取信息的关键。其中,全文索引和中文分词技术是实现这一目标的重要工具。本文将围绕...
《Lucene.2.0.API》是关于开源全文搜索引擎库Lucene的一个重要参考资料,它详尽地记录了Lucene 2.0版本的API接口及其使用方法。Lucene是一个由Apache软件基金会开发的Java全文检索库,它提供了高性能、可扩展的文本...
《深入理解Lucene 2.0:开源全文检索框架解析》 Lucene 2.0是一款强大的开源全文检索库,由Apache软件基金会开发并维护,是Java编程语言中的一个核心工具,广泛应用于搜索引擎的构建和其他信息检索场景。该版本发布...
首先,Lucene.NET 2.0 的核心概念包括文档(Document)、字段(Field)、索引(Index)和查询(Query)。文档是存储信息的基本单位,可以包含多个字段,每个字段都有其特定的类型,如文本、日期或数字。索引过程将...
这里我们关注的是基于开源项目Lucene 2.0和Heritrix的一本书——《开发自己的搜索引擎》的源码资料。Lucene是一个高性能、全文本搜索库,而Heritrix则是一个强大的网页抓取工具,它们共同构成了搜索引擎的基础架构。...
3. **索引(Indexing)**:Lucene使用倒排索引,将文档中的词汇与文档位置关联起来,便于快速查找匹配的文档。 4. **查询解析(Query Parser)**:将用户输入的查询字符串转化为可以执行的搜索表达式。 5. **搜索...
### 开发自己的搜索引擎:Lucene 2.0 + Heritrix #### 一、概述 在构建搜索引擎的过程中,Lucene 和 Heritrix 是两个至关重要的工具。本文将深入探讨这两个工具的功能及其如何协同工作,帮助读者理解如何使用它们...
《构建搜索引擎:剖析Lucene2.0与Heritrix源代码》 在信息化时代,搜索引擎已经成为我们日常获取信息的重要工具。本章节将深入探讨如何利用Lucene2.0和Heritrix这两个开源项目构建一个基本的搜索引擎。首先,我们要...
在深入探讨Lucene Field之前,我们先来了解一下Lucene是什么。Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发,用Java编写。它提供了一个简单但功能强大的API,允许开发者在应用程序中添加搜索功能。...
struts2 + spring2.5 + hibernate 3.2 + lucene 2.4 + compass 2.0 包含所有jar包,按readme.txt导入并运行即可 开始不用分了................