Самым известным подключаемым приложением для этого является Django-Haystack , которое позволяет подключаться к нескольким поисковым бэкэндам:
- Solr / Lucene базовый проект Apache, совместимый с модным словом
- Ух нативная библиотека поиска Python
- Xapian другая очень хорошая семантическая поисковая система
стог сена позволяет вам использовать API, который выглядит как собственный синтаксис Queryset в Django, для непосредственного использования этих поисковых систем (которые все имеют свой собственный API и диалекты).
Если вы правы после очистки инструментов , какой бы инструмент вы ни использовали: BeautifulSoup или Scrappy, вы будете самостоятельно писать код Python, который будет анализировать то, что Вы хотите разобрать, а затем заполнить свои модели Django.
Это могут быть даже отдельные скрипты Python, доступные в модуле commands.py.
Если у вас есть много файлов для поиска, вам, вероятно, понадобится индекс, который часто перестраивается и позволяет выполнять быстрый поиск, не обращаясь к django ORM.
Использование индекса Solr (например) позволяет вам создавать другие поля на лету, например, виртуальные поля, основанные на полях вашей реальной модели (например, разделение имени и фамилии автора, добавление поля заголовка файла в верхнем регистре, что угодно)
Конечно, если вам не нужна быстрая индексация, повышение ключевых слов или семантический анализ, вы все равно можете выполнять классический полнотекстовый поиск по паре полей модели django i: