我有一个查询,它涉及许多表上的许多联接,查询时间太长。我被要求试着用Lucene来加快速度。我所做的是将查询导出到XML,并使用Java解析XML,Lucene对XML进行索引,并创建了一个API来在Java中查询该索引。这减少了查询时间的6-10倍。
但是,除非专门的VM或机器不断地查询数据库、导出数据和重新索引数据,否则任何使用API搜索Lucene索引的最终用户都将收到不最新的数据。即使一台机器专门用于此目的,在每次搜索Lucene索引时,数据也不会是最新的。
我相信Solr的“三角进口”就是我所说的。我认为这是Solr独有的,而不是Lucene。
Lucene有哪些选项可以索引会随频率变化的数据,并允许用户实时搜索/查询?这对Lucene的要求是不是太高了?
发布于 2013-09-27 10:01:11
Solr恰好是一个建立在lucene之上的搜索应用程序。因此,任何提供的索引和搜索功能都来自lucene。
Lucene支持近实时搜索- http://wiki.apache.org/lucene-java/NearRealtimeSearch
对于您的索引问题,我想说这取决于您的应用程序,它同步您的数据库和lucene之间的数据。Lucene可以以非常高的吞吐量进行索引。http://people.apache.org/~mikemccand/lucenebench/indexing.html,所以您的应用程序应该足够聪明,能够显示数据库中所做的更改,并且只对“增量”进行重新索引。
https://stackoverflow.com/questions/19037114
复制相似问题