使用IndexWrite建立索引(2)

IndexWrite的主要作用是针对索引进行创建,加入Document,合并各种索引字段

 

IndexWrite有三个公有构造函数

 

  public IndexWrite(String path,Analyzer a,boolean create) ;

  public IndexWrite(File path,Analyzer a , boolean create) ;

  public IndexWrite(Directory d ,Analyzer a ,boolean create);

 

第一个参数代表索引存放的位置。String是绝对路径,File类型是经过包装的绝对路径,Directory类型是Lucene内部的一种目录表示方式。

 

第二个参数代表创建索引时所使用的分词器,用分词器对数据源进行相应的处理。

 

第三个参数是一个布尔型,该参数为true时在由第一个参数所指定的路径处,删除源目录内的所有内容重新构建索引;为false时在已经存在的索引上追加新的Document,通常在第一次构建索引时,可以将其设为true,以后设为false进行索引的不断更新。

 

 

Document doc =new Doucment() ;//建立逻辑文件
Field f1=new Field("bookid","20090102",Field.Store.YES,Field.Index.UN_TOKENIZED) ;
Field f2=new Field("author","刘云",Field.Store.YES"Field.Index.UN_TOKENIZED") ;
 /*为逻辑文件添加字段内容,Field.Store.YES表示存储该字段,
   Field.Index.Un_TOKENIZED表示不对该Field进行分词,
   但是要对它进行索引*/
doc.add(f1);
doc.add(f2);
IndexWrite write=new IndexWrite(INDEX_STORE_PATH,new StandardAnalyzer(),true) ;
write.addDocument(doc) ;
write.close() ;

你可能感兴趣的:(Lucene)