SQLite hat recht gut zur Volltextsuche Fähigkeit - durch einen Hash-Split (aufblicken SQLite FTS 3/4 seiner überraschend gut)
, wenn Sie einen PHP-DIY-Ansatz Indizierung aus vielen kleinen Dateien einfach wollen Die Begriffe, die indiziert werden, können sehr gut funktionieren, und die Suche kann sehr schnell sein, sogar in PHP, wenn Sie darauf achten, es zu entwerfen. (die Idee ist, eine Suche nach einem Begriff nur eine sehr kleine Datei mit Begriffen mit den Hash-und Record-IDs suchen müssen - Sie könnten Bitarray-Slices verwenden, um Datensatz-IDs darzustellen, wenn Sie HD-Speicherplatz speichern möchten) .. aber das Indizieren jedes Wortes für Volltext wäre langsam in PHP .. dieser Teil sollte wirklich in c
für "Fuzzy" Suchmöglichkeiten vielleicht mit Metaphon Hashes getan werden.
für vorgefertigte Volltext-Tools überprüfen diese: SQLite FTS 3/4 (! SQLite sehr gute Volltext-Suchfunktion hat), Sphinx, kinoSearch (kinoSearch ist ein bisschen wie Lucene, aber das Back-End c mit einem netten einfachen Perl Wrapper - es gibt auch cLucene, aber ich denke, das ist immer noch vor-Alpha)
Java Lucene (oder irgendetwas Java-based) benötigt wahrscheinlich eine Menge RAM zu beiseite gelegt werden, um eine JVM - so wahrscheinlich nicht so toll, wenn Sie auf ein Budget sind
Was unterscheidet Google von reinen Text-Suchmaschinen ist, dass es die Beziehungen zwischen den Seiten untersucht. Wie würden Sie Ihre Seiten miteinander in Beziehung setzen? Links? Schlüsselwörter/Phrasen? Wenn Sie keine Beziehungen haben, wäre es besser, wenn Sie nach einer Textsuche suchen. –
Unsere Datenbank mit 50.000 Artikeln benötigt ca. 20 Sekunden um eine reine Textsuche durchzuführen. Unsere OCRed-Zeitungsseiten sind ein viel größerer Datensatz. Wir brauchen schnellere Google-ähnliche Methoden der Indexierung und des Abrufens, um unsere Zeitungen in weniger als einer Sekunde zu durchsuchen. – lkessler
Suchmaschinen verwenden keine SQL-Datenbanken, da sie die Suche langsam machen. Sie können Lucene verwenden oder Ihre eigene Suchmaschine programmieren. PHP ist keine geeignete Sprache für die Entwicklung einer Suchmaschine. – alienCoder