SOLR Faceting не возвращает все грани при поиске «All» (*: *) - PullRequest
0 голосов
/ 04 декабря 2018

Я заметил кое-что любопытное в наших результатах SOLR 7.У нас включена активация, например, поля производителя.Когда поиск выполняется для конкретного производителя, данные фасета будут включать в себя ряд результатов для этого производителя (в данном случае 99 результатов).Кроме того, все побочные результаты суммируются, чтобы соответствовать общему количеству документов, соответствующих запросу (что имеет смысл).

Если выполняется «пустой» поиск (что приводит к запросу : ), все документы возвращаются из СОЛР (~ 242 000).Тем не менее, побочные эффекты для поля «Производитель» не добавляются к общему количеству возвращенных документов.В итоге получается около 36 000 документов.Конкретный производитель, которого я искал в предыдущем примере, который DID возвращает счет 99 в данных фасета для этого производителя, теперь ничего не возвращает для этого производителя.Для этого производителя не отображается никакой побочный результат.

Если я запрашиваю solr для значения конкретного производителя в конкретном поле, над которым мы сталкиваемся, то он находит 99 совпадений, а данные фасета также показывают 99результаты.

Я думаю эта проблема возникает только тогда, когда выполняется запрос : (или пустой q).

Есть предложения?

Пожалуйста, дайте мне знать, если вам требуется дополнительная информация.Спасибо, Билл

1 Ответ

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

Я не уверен, что понимаю вашу проблему, но я предлагаю вам типичное решение.

вы можете использовать "enum" метод фасетов для огромных граней.

 facet.method=enum

Более того, вынеобходимо контролировать число фасетов с помощью:

facet.limit=10000   //maximum number of returned facets
facet.offset= 0 

для получения дополнительной информации о параметрах фасета Solr перейдите по ссылке: https://wiki.apache.org/solr/SimpleFacetParameters

...