Как предполагается использовать django-haystack?
Наша команда работала над интеграцией drf-haystack и django-haystack с Solr. Он казался достаточно простым в настройке и отлично работал с очень маленькими (<100 объектов) наборами данных.
Как только мы начали работать с большим количеством объектов, производительность упала. Более 2 минут для выполнения однократного поиска менее 10к объектов.
После расследования я понял, что это, по крайней мере, частично, потому что он делает запросы к базе данных. Затем я прочитал эту документацию и теперь совершенно сбит с толку.
Разве вся суть стога сена не в том, чтобы упростить интеграцию с приложением django и поисковой системой? Почему, черт возьми, поведение по умолчанию заключалось бы в выполнении запросов к базе данных? (Что было бы проще сделать, просто используя базовые встроенные модули Django?)
Похоже, должен быть способ избежать попадания в базу данных, но мы этого не выяснили, несмотря на то, что следовали документации Haystack. На этом этапе мы отказываемся от использования стога сена для поиска и написания наших собственных запросов solr для вызова из нашего набора представлений DRF, а не наследования от HaystackViewSet. Мы уже доказали, что это полностью решает проблемы с производительностью.
Полагаю, мне здесь не хватает чего-то очевидного. Может ли кто-нибудь дать представление о конструкции и назначении стога сена?