lucene

Posted 仰望星空的程序

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lucene相关的知识,希望对你有一定的参考价值。

lucene的配置文件lucene-config.xml内。总标签是<luceneConfig>,其下包含了<Global>,是声明lucene全局变量的,声明方式如下:

<xxxkey>xxxvalue</xxxkey>


<luceneConfig>下也包含了<IndexConfig>索引配置。


在lucene中,我们编写的应用程序要完成数据的收集,再将数据以document的形式用lucene的索引API创建索引、存储。所以<IndexConfig>下有<documents>


document是一种逻辑文件。可以近似地认为它表示的是计算机中的一个文件。从各种维度(也可以理解为各种切面、不同角度的摄影机)来描述一个数据源中的每一条数据,这些维度(切面、摄影机)就是Field。很明显的,Document-Field结构和关系型数据库结构类似,数据库的每一条记录可以表示为一个document,而每一列可以用Field表示。


创建索引时,必须要用到Writer,而它只有一个构造函数: 

public IndexWriter(Directory d, IndexWriterConfig conf)


     这里的Directory是必须的。Directory有两个子类,分别是RAMDirectory和FSDirectory。 从名称上可以知道,FSDirectory与系统文件有关,而RAMDirectory和系统内存有关。

      RAMDirectory是内存中的一个区域,只需要简单的使用构造函数就可以得到其实例。 

Directory directory = new RAMDirectory();

该类适用于小量的常驻内存索引,不适合大量索引的情况,也不适用于多线程的情况。 

RAMDirectory带来的好处就是高效率,而过大的索引文件会到时内存不足。





以上是关于lucene的主要内容,如果未能解决你的问题,请参考以下文章

lucene demo代码

三搜索引擎篇-lucene入门代码示例

ElasticSearch 学习笔记一 简介

Lucene学习总结

Lucene分析

1. 初识 Lucene