4 Stimmen

Solr-Facette für Veranstaltungstermine

Ich habe eine Ereignistabelle mit einem Start- und Enddatum wie folgt

==============================================
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
----------------------------------------------

Jetzt möchte ich eine Solr-Facette haben, die wie folgt aussieht und ich kann nicht scheinen, um die Parameter richtig zu bekommen.

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

Bitte beachten Sie, dass die Facette sowohl das Startdatum als auch das Enddatum berücksichtigen muss. Eine Art von Gruppierung?

Was sollten die Facettierungsparameter dafür sein?

Vielen Dank im Voraus für jede Hilfe.

3voto

Mahbub Punkte 3088

Ich habe es schließlich mit Solarium Bibliotheken Facet Multi Query auf der Grundlage des Beispiels arbeiten http://wiki.solarium-project.org/index.php/V2:Facet_multiquery

Der Teil in meiner Zend App sieht wie folgt aus

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

Wenn jemand mehr wissen möchte, bitte ich um eine kurze Nachricht.

Diese Parameter fangen ein, was ich bisher brauchte, aber ich habe sie noch nicht ausgiebig getestet.

0voto

Jay Bharat Punkte 477

Sie können $startdate.'T01:00:59Z' $enddate.'T23:59:59Z'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X