这篇博客的内容和上一篇内容的区别不是很大,但是却是两个方向的,
这里的连接是上一个博客的,,
区别在于这篇的一条代码:
writer.setUseCompoundFile(true);
这条代码的意思是是否使用符合的索引。
.csf文件的内容:
其中的参数一个是false, 一个是true
这两个的差别如图所示:
false:
true图:
第一个生成的是单一的索引格式,
属性文件独立
第二个生成的是符合的索引格式
.csf这个格式生成的文件内容比较大,
所包含的属性多。
package segment;import java.io.IOException;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.IndexWriter;public class Segment2 {private String INDEX_PATH = "E:\\Lucene项目\\索引文件";Document doc1 = null;Document doc2 = null;public Segment2(){try{doc1 = new Document();Field f1 = new Field("name1", "smi steve ted teddy terry", Field.Store.YES, Field.Index.TOKENIZED);Field f2 = new Field("name2", "what are you doing", Field.Store.YES, Field.Index.TOKENIZED);Field f3 = new Field("name3", "how do you do", Field.Store.YES, Field.Index.TOKENIZED);doc1.add(f1);doc1.add(f2);doc1.add(f3);doc2 = new Document();Field f4 = new Field("name4", "smi steve ted teddy terry", Field.Store.YES, Field.Index.TOKENIZED);Field f5 = new Field("name4", "what are you doing", Field.Store.YES, Field.Index.TOKENIZED);doc2.add(f4);doc2.add(f5);IndexWriter writer = new IndexWriter(INDEX_PATH, new StandardAnalyzer(), true);//writer.setUseCompoundFile(true);writer.addDocument(doc1);writer.addDocument(doc2);writer.close();}catch(IOException e){e.printStackTrace();}}public static void main(String[] args) {// TODO Auto-generated method stubSegment2 se = new Segment2();}}
他们不计后果的彼此拥抱,握紧双手,怕天会亮,怕爱会走。