标签:color 查询 文件 规则 效率 基本 搜索 顺序 document
太慢,效率不高。
对需要查询的文档创建索引,再对其进行搜索。其实说白了就是为了使其结构化。
索引库是由两部分组成的,一部分是索引,另一部分是文档对象(不是原始文档)。
有以下规则
a.不同的文档可以有不同的Field
b.同一个文档可以有相同的Field
c.每一个文档有一个唯一的编号id
分析的过程是经过对原始文档提取单词,将字母转换成小写,去除标点符号等过程最终生成语汇单元(一个一个的单词)。
注意:不同的域中生成的term是不同的term。
term好像是索引的基本单位,term包含文档域名和单词内容。例如一个文档的文件名包含java是不同于内容中包含java的。这是通过term来实现的。
为每一个term,指向所在的文档对象。Lucene是倒排索引,是先找到这个term再找到这个文档,这种方法比顺序查找效率高。
lucene-core-4.10.3.jar
lucene-analyzer-common-4.10.3.jar
lucene-queryparser-4.10.3.jar
common-io-2.4.jar
1.创建一个IndexWriter对象
指定索引库存放位置
指定一个分析器
2.创建document对象
3.创建field对象
4.使用IndexWriter对象进行索引创建
4.关闭IndexWriter对象
是否分析:是否对域的内容进行分词处理。是否要对域的内容进行查询
是否索引:无论是否分析,但是索引要搜索到。有一些不分析,但是也要进行索引。
是否存储:将Field值存储在文档对象中,凡是将来要从Document中获取的Field都要存储。
Luke - Lucene Index Toolbox
注意事项:Lucene不提供信息采集的类库,需要其它库支持。(Nutch,jsoup,heritrix)
标签:color 查询 文件 规则 效率 基本 搜索 顺序 document
原文地址:https://www.cnblogs.com/Dbbf/p/9901105.html