2010-06-18 20 views
5

Nach der Apache Solr documentation on facets kann ich Schlüssel verwenden, weil: 'Dies kann hilfreich sein, wenn Facetting auf dem gleichen Feld mehrmals mit verschiedenen Ausschlüssen.'Solr multiple facet dates

Ich brauche sie, weil ich eine Facette haben möchte, die mir die Optionen "Letzter Tag", "Letzte Woche", "Letzter Monat" gibt.

Allerdings, wenn ich eine Abfrage mit den folgenden Optionen festlegen angeben:

http://URL/select? 
...unrelated... 
facet=true& 
facet.date={!key=some_key}created& 
f.some_key.facet.date.start=NOW/DAY-1DAY& 
f.some_key.facet.date.end=NOW/DAY& 
f.some_key.facet.date.gap=NOW/DAY+1DAY 
...unrelated... 

Solr beklagt:

[Ausnahme] => org.apache.solr.common.SolrException: Fehlende erforderliche Parameter: f.created.facet.date.start (oder default: facet.date.start)

Wenn ich facet.date.start oder f.created.factet.date.start setze, überschreiben sie die Felder meiner some_key (Start/Ende/Lücke) und das ist nutzlos, weil ich mehrere Schlüssel brauche ... Kann jemand weist mich hier in die richtige Richtung? Aufgrund der Einschränkungen der Bibliothek, die ich verwende, muss dies in einer einzigen Abfrage durchgeführt werden.

Antwort

11

Sie Facette Abfragen verwenden:

http://URL/select? 
...unrelated... 
facet=true&  
facet.query=[NOW-1DAY TO NOW]& 
facet.query=[NOW-7DAY TO NOW]& 
facet.query=[NOW-1MONTH TO NOW]& 
...unrelated... 
+0

+1 mich schlagen, um es :) –

+0

Managed es hacken Sie sich mit der Copyfields statt, und keine Zeit an diesem Punkt zu ändern, aber dies scheint wie eine vernünftige Lösung auch. Habe einen guten Ruf! :) –

+0

Sehr geschätzt! :) –