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的主要内容,如果未能解决你的问题,请参考以下文章