Подсчет фасетов Solr не верен, как дедуплицировать - PullRequest
0 голосов
/ 17 августа 2011

Мы используем два solrs для индексации файлов. Иногда одна статья индексируется в обоих программах, потому что мы делаем обновление. Из-за этих дублированных статей возникает проблема, связанная с неправильным количеством аспектов. Как я могу дублировать счет?

1 Ответ

0 голосов
/ 18 августа 2011

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

Если вы не хотите удалять дубликаты статей, вам все равно нужно отслеживать их.Зная, какие статьи из SOLR1 являются дубликатами в SOLR2, вы сможете дедуплицировать счетчики следующим образом:

  • создайте дополнительное поле в SOLR1 с именем:

    IsDuplicateField = true, if article is duplicated in SOLR2
                     = false, otherwise
    
  • при выполнении запроса к SOLR1 добавьте: IsDuplicatedField = true для фасетов.

  • при получении результата просто уменьшите общее число подсчетов фасетов с общим числом IsDuplicateField из SOLR1.

В этой ситуации фасет IsDuplicateField будет извлекать все дублирующиеся статьи и соответствовать вашему запросу.

Удачи!

...