2012-02-13 301 views
3

我想用索引搜索Lucene。索引频繁更改。所以我需要做一些事情来同时搜索和索引。这是一个Tomcat上的Web应用程序。我想用RAMDeirectory来提高搜索速度。我不知道该怎么做!Lucene索引和搜索

回答

3

NRTManagermisc Lucene的包提供在同一时间搜索和索引的能力。

TrackingIndexWriter writer; // your writer 
SearcherFactory factory = new SearcherFactory(); 
NRTManager mgr = new NRTManager(writer, factory); 

查看NRTManager方法以获取更多信息。

0

你所要做的,要么做一个

  1. 批次/隔夜操作重建索引。
  2. 做那非同步的方式....

取决于要求,有什么等待时间需要。

+0

如何在不降低网页应用的情况下替换索引!? – 2012-02-14 19:43:53

2

您可以使用相同的索引同时搜索和索引。看看Lucene的near real time search

从维基一些示例代码,

IndexWriter writer; // create an IndexWriter here 
Document doc = null; // create a document here 
writer.addDocument(doc); // update a document 
IndexReader reader = writer.getReader(); // get a reader with the new doc 
Document addedDoc = reader.document(0); 
+0

那么我该如何搜索那个索引呢? – 2012-02-14 19:42:44