Lucene 3.4 索引速度为什么没有2.3快
如题,建立索引时感觉3.4比2.3慢了好多,然后写了一段简单的代码试了一下。2.3需要641ms,而3.4却用了1563ms,不可思议啊,按理说3.4比2.3快好多才对吧..不知道问题出哪儿了,求解答~~
//2.3的代码 public static void main(String args[]) throws Exception{ long a=System.currentTimeMillis(); IndexWriter writer=new IndexWriter("index", new KeywordAnalyzer(),true); writer.setMergeFactor(1024); Document doc=null; for(int i=0;i<50000;i++){ doc=new Document(); doc.add(new Field("id","wo"+i,Field.Store.YES,Field.Index.TOKENIZED)); doc.add(new Field("lon","123.1111",Field.Store.YES,Field.Index.TOKENIZED)); writer.addDocument(doc); } writer.optimize(); writer.close(); long b=System.currentTimeMillis(); System.out.println("time:"+(b-a)+"ms"); }//3.4代码 public static void main(String args[]) throws Exception{ long a=System.currentTimeMillis(); Directory dir=FSDirectory.open(new File("index")); IndexWriterConfig conf=new IndexWriterConfig(Version.LUCENE_34, new KeywordAnalyzer()); conf.setOpenMode(OpenMode.CREATE); LogByteSizeMergePolicy mp=new LogByteSizeMergePolicy(); mp.setMergeFactor(1024); conf.setMergePolicy(mp); IndexWriter writer=new IndexWriter(dir, conf); Document doc=null; for(int i=0;i<50000;i++){ doc=new Document(); doc.add(new Field("id","wo"+i,Field.Store.YES,Field.Index.ANALYZED)); doc.add(new NumericField("lon",Field.Store.YES, true).setDoubleValue(123.1111)); writer.addDocument(doc); } writer.optimize(); writer.close(); long b=System.currentTimeMillis(); System.out.println("time:"+(b-a)+"ms"); }