Solr Facet参加活动日期

时间:2011-12-05 11:44:27

标签: php solr full-text-search faceted-search

我有一个事件表,其中包含开始日期和结束日期

==============================================
id   |   name       | start_date |  end_date
==============================================
1    | Test Event 1 | 2011-11-20 | 2011-12-20 
----------------------------------------------
2    | My Event 2   | 2011-12-05 | 2011-12-26 
----------------------------------------------
3    | My Event 3   | 2012-12-26 | 2012-01-11
----------------------------------------------

现在我想要一个看起来像这样的solr facet,我似乎无法让params正确。

==================
Dates 
------------------
Today [2]
This Week [2]
This Month [2]
Next Month [1]

请注意,方面必须考虑开始日期和结束日期。刮痧?

这个参数应该是什么?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

我终于根据示例http://wiki.solarium-project.org/index.php/V2:Facet_multiquery使用日光浴库Facet Multi Query工作了

我的Zend App中的部分看起来像

$dateFacetSet = $query->getFacetSet();
$dateFacet = $dateFacetSet->createFacetMultiQuery('dates');
$dateFacet->createQuery('Today', 'type:event AND sdate:[* TO NOW/DAY] AND edate:[NOW/DAY TO * ]');
$dateFacet->createQuery('This-Week', 'type:event AND sdate:[* TO ' . $this->view->date_w["end"] . 'T23:59:59Z] AND edate:[' . $this->view->date_w["start"] . 'T00:00:00Z TO * ]');
$dateFacet->createQuery('This-Month', 'type:event AND sdate:[* TO ' . $this->view->date_m["end"] . 'T23:59:59Z] AND edate:[' . $this->view->date_m["start"] . 'T00:00:00Z TO * ]');

如果有人想了解更多,请告诉我。

这些参数到目前为止我所需要的但没有经过广泛测试。

答案 1 :(得分:0)

你可以放 $ startdate.'T01:00:59Z” $ enddate.'T23:59:59Z'