【问题标题】:Lucene/Solr aggregationLucene/Solr 聚合
【发布时间】:2011-04-21 10:38:29
【问题描述】:

我遇到了很大的问题。 Lucene 不能聚合数据。有什么替代解决方案。

经过一些改进后,我需要下一步:

lucene 数据示例

product_id   distri_id   stock 
1            d1          10
1            d2          20
1            d3          23

我需要查询下一个条件,例如:prod_id =1 and distri_id = (d1 or d2) and stock(sum of d1 and d1) > 13.

因此,我必须汇总每个 dsitri 的数据,并选择库存总和更多的地方。在其他 SQL 术语中,我必须执行 GROUP BY distri HAVING sum(stock)>13.

有人可以建议在这种情况下该怎么做。

谢谢!

最好的问候, 阿尔乔姆

【问题讨论】:

  • 你能写出你有多少行数据吗?还可以添加您尝试过的数据库吗?
  • Postgresql。数以千万计的索引数据

标签: java lucene full-text-search solr


【解决方案1】:

您可能想看看field collapsing patch,我猜它提供了类似的功能。

另外,this 说:

<..>引入 Solr 的结果分组, 也称为字段折叠,即 限制显示的文档数量 对于每个“组”,通常定义为 字段中的唯一值或 功能查询。 <..> 你需要一个最近的夜间版本 Solr 4.0-dev,或者新发布的 LucidWorks Enterprise v1.6,我们的 Solr 的商业版本。

【讨论】:

    【解决方案2】:

    我建议您使用数据库来解决由数据库解决的问题。 Lucene 不是为此而设计的。

    【讨论】:

    • 不幸的是,数据库的搜索速度非常非常慢。
    • 我只提供了简单的例子来演示问题。在复杂的搜索中有困难的逻辑,如果替换到数据库查询,它将工作很长时间。 Lucene是我唯一的救星。无论如何,数据库对我来说都是一个失败的解决方案。
    • 您可能必须开发一个混合解决方案,使用 RDBMS 中的示例数据,包括指向您在 Solr 中的文档的链接,并让您的 Solr 搜索索引提供搜索功能。现在也有许多数据库正在添加搜索索引类型的功能,但我对它们没有经验。另外,是否在 apache.org 下的 Lucene/Solr 特定支持组上询问过这个问题?祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 2012-11-25
    • 2014-02-24
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多