全文索引

Lucene介绍与入门使用

跟風遠走 提交于 2019-11-26 03:14:12
Lucene介绍与入门使用   Lucene简介   Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。   那么先来说一说什么是全文搜索   说之前先说一说 数据的分类 :      我们生活中的数据总体分为两种:结构化数据和非结构化数据。     (1) 结构化数据 :指具有固定格式或有限长度的数据,如数据库,元数据等。     (2) 非结构化数据 :指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件   结构化数据查询方法   数据库搜索  

Lucene01

左心房为你撑大大i 提交于 2019-11-25 23:04:51
数据分类 结构化数据和非结构化数据 结构化数据搜索 sql 非结构化数据查询方法 顺序扫描法 全文检索 lucene实现全文检索的流程 创建索引   对文档索引的过程,将用户要搜索的文档内容进行索引,索引存在索引库中, 获取原始文档 创建文档对象,文档中包括一个一个的域(Field),域中存储内容,可以将磁盘上的一个文件当成一个document,     Document中包括一些Field(file_name文件名称、file_path文件路径、file_size文件大小、file_content文件内容)     每个Document可以有多个Field,不同的Document可以有不同的Field,同一个Document可以有相同的Field(域名和 域值都相同)     每个文档都有一个唯一的编号,就是文档id。 分析文档     将原始内容创建为包含域(Field)的文档(document),需要再对域中的内容进行分析,分析的过程是经过对原始文 档提取单词、将字母转为小写、去除标点符号、去除停用词等过程生成最终的语汇单元,可以将语汇单元理解为一个 一个的单词 创建索引     对所有文档分析得出的语汇单元进行索引,索引的目的是为了搜索,最终要实现只搜索被索引的语汇单元从而找到 Document(文档) 创建索引是对语汇单元索引,通过词语找文档,这种索引的结构叫