我有一个涉及许多联接许多表,时间太长查询的查询。 我一直在问尝试使用Lucene来加快速度。 我所做的是导出的查询XML,以及使用的Java的XML,Lucene的解析来索引XML,并创建了一个API来查询在Java中此指数。 这减少了查询时间6-10倍。
但是,除非专用的虚拟机或机器不断地查询数据库,出口数据,以及重新索引数据,谁使用API来搜索Lucene索引将收到未跟上时代的数据的任何最终用户。 即使机器是专门为了这个目的,该数据不会被及时了解每一个试图搜索Lucene索引。
我认为,“增量导入”为Solr的是什么,我说什么。 我认为这是唯一到Solr虽然没有Lucene的。
什么选择存在Lucene来索引数据将在实时以一定的频率变化,并允许用户搜索/查询? 这是过高了Lucene来问?
Solr的恰好是一个搜索应用程序建立在Lucene之上。 因此,所提供的任何索引和搜索功能来自Lucene的。
Lucene支持近实时搜索- http://wiki.apache.org/lucene-java/NearRealtimeSearch
为了您的索引关注,我会说这取决于你的应用程序,它同步你的数据库和Lucene之间的数据。 在一个非常高的吞吐量的Lucene可以索引。 http://people.apache.org/~mikemccand/lucenebench/indexing.html所以您的应用程序应该是足够聪明的身影只在数据库并重新索引所做的更改“增量”
文章来源: Real Time Searching of a Lucene Index that is Updated Frequently - Is this practical?