我不知道如何处理以下问题。所以我希望能得到一些想法或类似的东西。 我使用solcene的lucene。每个文档(在lucene中索引)都有一个日期字段和一个主题字段(带有一些关键字)后处理solr的分面搜索结果
通过使用分面搜索,我可以计算特定日期的每个关键字的频率。
实施例1(伪码):
1st search where date=today:
web=>70
apple=>35
blue=>32
2nd search where date=yesterday:
web=>65
blue=>55
apple=>5
但现在我想的结果为一个的solr/Lucene的查询,以便计算该字频的生长速度非常强和巫不结合。 一个结果可能是:
实施例2:
one search merging both querys from example 1
web=>(70,65) <- growth +7,69%
blue=>(32,55) <- growth -41,81%
apple=>(34,5) <- growth +680%
是否有可能(和有用的)做此合并(和calclulation)内部的solr还是更开始2个的solr querys(参见实施例1 )后处理的结果与PHP?
比你!
谢谢你的回答。但这并不完全符合我的需求。因为“term”(例如)“web”是第一查询的结果(示例1的结果)。我可以通过使用facet.date.start,facet.date.end和facet.date.gap来整合来自示例1的查询结果。但如何后处理?如果这只能写自己的java facetting代码 - 所以PHP中的后处理对我来说是更好的方式。谢谢。 – 2011-06-15 11:11:04
我不认为你可以使用facet.date.start来做到这一点,你需要一个面向查询的笛卡尔积。按照你的例子 – 2011-06-15 13:13:26
,我得到了奇怪的结果。它接缝,solr不认识“facet.query”关键字。这可能吗?另一方面:(fq =)工作fq =和facet.query是一样的,对吧?最后,我的solr安装接缝在“fq”之间使用AND运算符。这个男人,它不计算在第一天和第二天的类别,它看起来像太阳能搜索文件,这是在第一天和第二天在同一时间,这导致' numFound =“0”' – 2011-06-20 08:52:20