我有一个查询涉及许多表上的许多连接,并且查询时间过长。我被要求尝试使用 Lucene 来加快速度。我所做的是将查询导出到 XML,并使用 Java 解析 XML,使用 Lucene 索引 XML,并创建一个 API 以在 Java 中查询此索引。这将查询时间减少了 6-10 倍。
但是,除非专用 VM 或机器不断查询数据库、导出数据并重新索引数据,否则使用 API 搜索 Lucene 索引的任何最终用户都将收到非最新数据。即使一台机器专门用于此目的,数据也不会在每次尝试搜索 Lucene 索引时都是最新的。
我相信 Solr 的“增量导入”就是我所说的。我认为这是 Solr 独有的,而不是 Lucene。
Lucene 有哪些选项可以索引会以某种频率变化的数据,并允许用户实时搜索/查询?这对 Lucene 要求太多了吗?