Lucene同时进行索引和搜索

5

我希望在一个索引上使用Lucene进行搜索。该索引经常发生变化,因此我需要同时进行搜索和索引的操作。这是一个运行在Tomcat上的Web应用程序。我想使用RAMDeirectory来增加搜索速度,但我不知道如何做到!

3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
5

misc Lucene包中的NRTManager提供了同时搜索和索引的能力。

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

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


3
您可以使用相同的索引进行搜索和索引。请参考Lucene的近实时搜索。 以下是维基页面上的示例代码:
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);

那么我怎样才能在该索引上进行搜索呢? - Ali Hashemi

0

你需要做的是:

  1. 批处理/夜间操作重建索引。
  2. 异步方式进行操作...

这取决于需求,你需要什么样的延迟。


如何在不使网络应用程序停机的情况下交替索引? - Ali Hashemi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,