Lucene / Solr: фасет уже граненого поля даты (фасет поворота / фасет дерева / подфасет / иерархические фасеты) - PullRequest
4 голосов
/ 14 января 2011

Я полностью потерян в мире ссылок и терминов Solr. В настоящее время у меня есть поле даты, с которым я сталкиваюсь, но я хотел бы посмотреть на него «дальше», если это возможно. Пример: Поле: дата Поле: язык

Так что, если я выполню этот запрос:

http://host:port/solr/select/?q="Don Quijote"&sort=date+asc&facet=true&facet.date=date&facet.date.start=2010-09-01T00:00:00Z&facet.date.end=2010-09-04T23:59:59Z&facet.date.gap=%2B1DAY&facet.field=language&facet.mincount=1&start=0&rows=10

Я получаю 2 разных граненых поля:

Один для «даты», как

2010-09-01 (10)

2010-09-02 (4)

2010-09-03 (60)

2010-09-04 (7)

и т.д.

и один для «языка»

'Английский' (23)

«Испанский» (34)

'Французский' (32)

Итак, мой вопрос: как я могу объединить результаты поля языка в ежедневную статистику? В конце хочу что-то вроде этого:

2010-09-01 (10)

'English' (4)

'Spanish' (5)

'French'  (1)

2010-09-02 (4)

'English' (1)

'Spanish' (1)

'French'  (2)

2010-09-03 (60)

'English' (20)

'Spanish' (20)

'French'  (20)

2010-09-04 (7)

'English' (2)

'Spanish' (3)

'French'  (1)

Возможно ли это? Я потерял себя в терминах, как пивот, попробовал facet.tree=date,language подход, и я не уверен, что то, что я ищу, это «иерархический аспект» ... Любые указатели или рекомендации (но больше всего, и пример того, как это сделать с датами) будут оценены. Спасибо!

Некоторые ссылки читаются:

https://issues.apache.org/jira/browse/SOLR-792

https://issues.apache.org/jira/browse/SOLR-64

http://lucene.472066.n3.nabble.com/Hierarchical-Facets-td474308.html

http://lucene.472066.n3.nabble.com/Hierarchical-faceting-td1123548.html

http://www.craftyfella.com/2010/01/faceting-and-multifaceting-syntax-in.html

1 Ответ

3 голосов
/ 17 января 2011

Я не уверен, можно ли использовать фасеты даты в патче facet.tree. Если у вас не так много языков (или дат), вы можете просто проиндексировать поля в одном поле с помощью

'date/lang'

и затем фасет этого поля только через facet.field = date_lang_merge_field

...