Как исключить дубликаты из набора результатов в solr при сохранении одного элемента? - PullRequest
0 голосов
/ 17 декабря 2018

Я возвращаю результаты из solr 6.4.1, какие элементы имеют определенные характеристики.

например,

color
type
price

Это пример набора данных

  1. красный, дом, 40
  2. красный, гараж, 30
  3. зеленый, дом, 20
  4. красный, дом, 50

Теперь я хочу удалить из набора все дубликаты, имеющие одинаковый цвет и тип , сохранив дубликат с наименьшей ценой.

В этом примере наборы данных 1 и 4 являются дубликатами с разной ценой, и я хочу сохранить в наборе результатов один с наименьшей ценой, потому что это самый дешевый красный дом.

Желаемый результат:

1: red, house, 40
2: red, garage, 30
3: green, house, 20

Как удалить элементы, атрибуты которых определяют дубликаты из набора, сохраняя один из них с наименьшей ценой?

1 Ответ

0 голосов
/ 17 декабря 2018

Самый простой: просто прикусить пулю и добавить другое поле, значение которого color + type, затем использовать Свертывание поля в этом поле, чтобы сгруппировать его и использовать «минимальную цену» для выбора документа.которая представляет группу:

fq={!collapse field=color_type min=price}
...