Solr Facet для дат событий - PullRequest
       13

Solr Facet для дат событий

4 голосов
/ 05 декабря 2011

У меня есть таблица событий, в которой есть даты начала и окончания, такие как

==============================================
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-грань, которая выглядит следующим образом, и я не могу понять параметры правильно.

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

Обратите внимание, что фасет должен учитывать как дату начала, так и дату окончания. Вроде гуппинг?

Какими должны быть параметры огранки для этого?

Заранее спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Я наконец-то начал работать с использованием библиотек солярия Facet Multi Query на примере http://wiki.solarium -project.org / index.php / V2: Facet_multiquery

Часть в моем ZendПриложение выглядит как

$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 * ]');

Если кто-то хочет знать больше, пожалуйста, дайте мне знать.

Эти параметры поймали то, что мне было нужно до сих пор, но они не были тщательно протестированы.

0 голосов
/ 08 июля 2013

можно поставить $ Startdate.'T01: 00: 59Z» $ Enddate.'T23: 59: 59Z '

...