【问题标题】:Real Time Searching of a Lucene Index that is Updated Frequently - Is this practical?实时搜索频繁更新的 Lucene 索引 - 这实用吗?
【发布时间】:2013-09-26 19:34:40
【问题描述】:

我的查询涉及许多表上的许多连接,并且查询时间过长。我被要求尝试使用 Lucene 来加快速度。我所做的是将查询导出为 XML,并使用 Java 解析 XML,使用 Lucene 索引 XML,并创建一个 API 以在 Java 中查询该索引。这将查询时间减少了 6-10 倍。

但是,除非专用 VM 或机器不断查询数据库、导出数据并重新索引数据,否则使用 API 搜索 Lucene 索引的任何最终用户都将收到非最新数据。即使一台机器专门用于此目的,数据也不会在每次尝试搜索 Lucene 索引时都是最新的。

我相信 Solr 的“增量导入”就是我所说的。我认为这是 Solr 独有的,而不是 Lucene。

Lucene 有哪些选项可以索引会以某种频率变化的数据,并允许用户实时搜索/查询?这对 Lucene 要求太多了吗?

【问题讨论】:

    标签: real-time lucene


    【解决方案1】:

    Solr 恰好是构建在 lucene 之上的搜索应用程序。所以提供的任何索引和搜索功能都来自于 lucene。

    Lucene 支持近乎实时的搜索 - http://wiki.apache.org/lucene-java/NearRealtimeSearch

    对于您的索引问题,我想说这取决于您的应用程序在数据库和 lucene 之间同步数据。 Lucene 可以以非常高的吞吐量进行索引。 http://people.apache.org/~mikemccand/lucenebench/indexing.html 因此,您的应用应该足够智能,能够计算出数据库中所做的更改并仅重新索引“增量”

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 2011-04-19
    • 2011-07-16
    • 2011-01-03
    • 1970-01-01
    • 2021-11-12
    相关资源
    最近更新 更多