2010-06-18 3 views
5

В соответствии с Apache Solr documentation on facets, я могу использовать ключи, потому что: «Это может быть полезно, когда огранка в одном поле несколько раз с разными исключениями».Solr несколько фасетных дат

Мне нужны они, потому что я хочу иметь фасет, который дает мне варианты «Последний день», «Последняя неделя», «В прошлом месяце».

Однако, когда я указываю запрос со следующими параметрами, установленными:

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 жалуется:

[исключение] => org.apache.solr.common.SolrException: Missing обязательный параметр: f.created.facet.date.start (или по умолчанию: facet.date.start)

Когда я устанавливаю facet.date.start или f.created.facet.date.start, они переопределяют поля моей some_key (начало/конец/пробел), и это бесполезно, потому что мне нужно несколько ключей ... Can кто-нибудь указывает мне в правильном направлении? Из-за ограничений библиотеки, которую я использую, это нужно делать в одном запросе.

ответ

11

Вы можете использовать фасет запросы:

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 опередил меня :) –

+0

не удалось взломать ее при помощи copyFields вместо этого, и нет времени, чтобы изменить в этой точке, но это кажется разумным решением также. Имейте некоторую репутацию! :) –

+0

Очень ценим! :) –

Смежные вопросы