Параметр bq изменяет количество фасетов с помощью группировки - PullRequest
0 голосов
/ 28 февраля 2012

Я использую solr trunk для поиска некоторых документов и группировки их по категориям, но сначала мне нужно сгруппировать их по другому полю. Более конкретно я использую эту схему:

  • component_id: string
  • категория: строка
  • имя: текст

И у меня есть два документа:

  1. component_id = register1, category = category1, name = 'foo bar'
  2. component_id = register1, category = category2, name = 'foo bar zoo'

Мой запрос (только соответствующие параметры):

{edismax qf = name} (панель foo) & group.field = component_id & group.truncate = true & facet.field = category & bq = category: category1 ^ 2

И побочные эффекты:

'category': 
'category1', 1 
'category2',1

НО, когда я изменяю параметр bq, например: bq = category: category1 ^ 20

Фасетные результаты изменились:

'category':
'category1', 1   
'category2', 0

Это возможно? Это ошибка? Если я установлю group.truncate = false, то все нормально для этого примера, но это не сработает для остальных запросов.

Спасибо и всего наилучшего

1 Ответ

0 голосов
/ 29 февраля 2012

Я отвечаю сам.

group.truncate - это правильный вариант, когда ваши данные единообразны или когда ваши группы содержат похожие объекты, но возникают проблемы при смешивании данных из разных категорий.

if group.truncate = true | A | B | B | <> | A | + | B | - A ∩ B

Все нормально с параметром bq.

...