Lucene同时索引和搜索

时间:2012-02-13 06:02:08

标签: java search tomcat lucene indexing

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

3 个答案:

答案 0 :(得分:5)

NRTManager Lucene包中的

misc提供了同时搜索和索引的功能。

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

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

答案 1 :(得分:3)

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

来自wiki的一些示例代码,

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);

答案 2 :(得分:0)

你必须这样做

  1. 批量/隔夜操作重建索引。
  2. 那样做asynch ....
  3. 取决于要求,您需要什么样的延迟。