Параметр bq изменяет количество фасетов с помощью группировки
Я использую solr trunk для поиска некоторых документов и группировки их по категориям, но сначала мне нужно сгруппировать их по другому полю. Более конкретно я использую эту схему:
- component_id: строка
- категория: строка
- имя: текст
И у меня есть два документа:
- Идентификатор компонента = регистр1, категория = категория1, имя ='foo bar'
- компонент_ид = регистр1, категория = категория2, имя = 'зоопарк foo bar'
Мой запрос (только соответствующие параметры):
{edismax qf = name} (foo bar) & group.field = component_id & group.truncate = true & facet.field = категория &bq= категория: категория1^2
И побочные эффекты:
'category':
'category1', 1
'category2',1
НО, когда я изменяю параметр bq, например: bq=category:category1^20
Побочные эффекты изменились:
'category':
'category1', 1
'category2', 0
Это возможно? Это ошибка? Если я установлю group.truncate=false, то все в порядке для этого примера, но это не сработает для остальных запросов.
С уважением
1 ответ
Я отвечаю сам.
group.truncate - это правильный вариант, когда ваши данные единообразны или когда ваши группы содержат похожие объекты, но возникают проблемы при смешивании данных из разных категорий.
if group.truncate = true | A | B |B| <> |A| + |B| - A ∩ B
Все в порядке с параметром bq.