Bekanntestes steckbare App dafür ist Django-Haystack, die Sie mehrere Such Backends verbinden können:
- Solr/Lucene das Schlagwort-konformen Apache Foundation Projekt
- Whoosh eine native python Suche Bibliothek
- Xapian eine weitere sehr gute semantische Suchmaschine
Heuhaufen ermöglicht es Ihnen, eine API zu verwenden, die wie eigene Queryset Syntax des Django schaut direkt Motoren diese Suche zu verwenden (die alle ihre eigene API und Dialekte haben, geschieht).
Wenn Sie juste nach Tools Schaben, was auch immer Werkzeug, das Sie verwenden: BeautifulSoup oder Scrappy, werden Sie auf Ihrem eigenen, schreiben Python-Code sein, der analysieren, was Sie analysieren möchten, und dann füllen Sie Ihre Django-Modelle.
Dies können sogar separate Python-Skripte sein, die im Modul "commands.py" verfügbar sind.
Wenn Sie viele Dateien durchsuchen müssen, benötigen Sie wahrscheinlich einen Index, der häufig neu erstellt wird und schnelle Suchen ermöglicht, ohne das django ORM zu treffen.
Mithilfe eines Solr-Index (zum Beispiel) können Sie andere Felder im laufenden Betrieb erstellen, z. B. virtuelle Felder basierend auf den Feldern Ihres realen Modells (Beispiel: Vornamen und Nachname des Spalters teilen, oberes Dateinamenfeld hinzufügen, was auch immer)
natürlich f Sie nicht schnell Indexierung, Keyword-Boost oder semantische Analyse brauchen, können Sie immer noch eine klassische Volltextsuche über ein paar django Modellfelder tun i:
BeautifulSoup ist verdammt langsam und tot :) Scrappy ist besser und es verwendet etree – virhilo
BeautifulSoup aus Lxml ist nett http://codespeak.net/lxml/2.0/elementsoup.html –