问题描述
|
我不确定如何处理以下问题。因此,我希望能提出一些想法或类似的想法。
我正在使用Lucene和Solr。每个文档(在lucene中索引)都有一个日期字段和一个主题字段(带有一些关键字)
通过使用分面搜索,我可以计算出每个关键字在特定日期的出现频率。
示例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%
是否有可能(有用)在solr中进行这种合并(和计算),还是最好开始2个solr查询(请参见示例1),然后用PHP对结果进行后处理?
比你!
解决方法
如果您具有先验方面值,则可以使用方面查询(例如ѭ2i)来执行此操作,因此您可以进行方面值*日期的笛卡尔积。
否则,要在Solr中执行此操作,我认为您必须编写一些自定义Java构面代码。或在客户端使用您提到的多个查询进行操作。