kevinelstri

Code--专注、执着

【Lucene02】索引的相关概念

一、重要类

(1)IndexWriter:索引过程中的核心组件,用于创建新索引或者打开已有索引,以及向索引中添加、删除、更新被索引文档的信息。
(2)Document:代表一些域(field)的集合。
(3)Field及其子类:一个域,如文档创建时间,作者,内容等。
(4)Analyzer:分析器。
(5)Directory:可用于描述Lucene索引的存放位置。

二、文档索引的基本步骤

(1)创建索引库IndexWriter
(2)根据文件创建文档Document
(3)向索引库中写入文档内容

三、索引、Document、Filed之间的关系

多个Filed组成一个Document,多个Document组成一个索引

Document doc = new Document();  
Field pathField = new StringField("path", filetoIndex.getPath(),Field.Store.YES);  
doc.add(pathField);  

writer.addDocument(doc); 

四、Field的实现类型

BinaryDocValuesField,
DoubleField,
FloatField,IntField,
LongField,
NumericDocValuesField,
SortedDocValuesField,
SortedSetDocValuesField,
StoredField,
StringField,
TextField

重要:
StringField: A field that is indexed but not tokenized
TextField: A field that is indexed and tokenized

Field.Store.Yes/No
在创建一个Field的时候,需要传入一个参数,用于指定内容是否需要存储到索引中。这些被存储的内容可以在搜索结果中返回,呈现给用户。

五、对富文本(非纯文本)的索引
若需要对此类文本进行索引,需要使用Tika等工具先将其正文内容提取出来,然后再进行索引。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevinelstri/article/details/52356671
文章标签: lucene 索引
个人分类: Lucene 搜索引擎
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭