关闭

【Lucene02】索引的相关概念

标签: lucene索引
277人阅读 评论(0) 收藏 举报
分类:

一、重要类

(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等工具先将其正文内容提取出来,然后再进行索引。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:329694次
    • 积分:4089
    • 等级:
    • 排名:第7953名
    • 原创:232篇
    • 转载:21篇
    • 译文:2篇
    • 评论:162条
    联系方式

    博客专栏