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

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

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

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

  1. Идентификатор компонента = регистр1, категория = категория1, имя ='foo bar'
  2. компонент_ид = регистр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.

Другие вопросы по тегам