Volltextindizierung
Es gibt Werkzeuge , wie recoll , Swish-e und Sphinx , aber man müsste prüfen , ob sie die Art von Suchkriterien unterstützen , die Sie benötigen.
Recoll
Recoll ist ein persönliches Volltextsuchwerkzeug für Unix / Linux.
Swish-e
Swish-e ist ein schnelles, flexibles und kostenloses Open Source-System zum Indizieren von Sammlungen von Webseiten oder anderen Dateien.
Sphinx
Mit Sphinx können Sie entweder Batch-Index und Suchdaten, die in einer SQL-Datenbank oder einem NoSQL-Speicher gespeichert sind, oder nur Dateien schnell und einfach speichern
grep
Ich bin überrascht, dass grep so langsam ist, wie Sie es beschreiben. Können Sie die Anzahl der durchsuchten Dateien reduzieren? Wenn ich zum Beispiel nur die Quelldateien nach einer ausführbaren Datei durchsuchen muss (von vielen in einem Projekt), gebe ich grep die Namen von einem Befehl ein, der die Quelldateien für dieses Programm auflistet:
grep expression `sources myprogram`
sources
ist ein Programm, das für meine Entwicklungsumgebung spezifisch ist, aber Sie haben möglicherweise etwas Äquivalentes (oder können es erstellen).
Ich gehe davon aus, dass Sie offensichtliche Techniken wie ausprobiert haben
find /foo/myproject -name "*.c" -exec fgrep -l searchtext
Ich habe einen Vorschlag gelesen , dass die -P
Option "Aktuell" grep
die Suche erheblich beschleunigen kann.