1、在Lucene4.x前,使用以下方式创建一个Field:
Field field = new Field("filename", f.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED); Field field = new Field("contents", new FileReader(f)); Field field = new Field("fullpath", f.getCanonicalPath(), Field.Store.YES, Field.Index.NOT_ANALYZED)
Filed的四个参数分别代表:
(1)域的名称
(2)域的值
(3)是否保存
(4)是否分析,对于文件名称,url,文件路径等内容,不需要对其进行分析。
2、在Lucene4后,定义了大量的Field的实现类型,根据需要,直接使用其中一个,不再使用笼统的Field来直接创建域。
BinaryDocValuesField, DoubleField, FloatField, IntField, LongField, NumericDocValuesField, SortedDocValuesField, SortedSetDocValuesField, StoredField, StringField, TextField
Field field = new StringField("path", filetoIndex.getPath(),Field.Store.YES); Field field = new LongField("modified", filetoIndex.lastModified(),Field.Store.NO); Field field = new TextField("contents", new FileReader(filetoIndex));
【Lucene4.8教程之二】域(Field)的用法
时间: 2024-12-18 01:26:30