2010-10-08 3 views
5

Noob-ish Frage: Ich bin auf der Suche nach einem leichten, aber anständige PHP-Weg, um alle Felder einer Tabelle MySql, unabhängig von der Struktur zu suchen. Ich habe es zuerst selbst mit dem Standard mysql select versucht, aber das ist zu einfach. Ich bin auf der Suche nach etwas, das mindestens die Ergebnisse nach bestem Ergebnis sortieren sollte (Stichwort Hervorhebung wäre auch schön).Suche nach einem grundlegenden PHP/MySQL Suchklasse

Ich bin überrascht von den kleinen Informationen, die ich gefunden habe googeln herum. Was ich bisher gefunden habe, ist die Zend Framework Lucene implementation, aber das scheint ein bisschen zu schwer (Aufbau eines separaten Index) für meine Bedürfnisse. Bevor ich mich damit beschäftigte, fragte ich mich, ob es keinen leichteren Weg gibt.

Antwort

3

Weil Suchen ist eine sehr komplexe Sache. Denk darüber nach, was du verlangst. Sie möchten eine winzige Suchmaschine, die einfach herausfinden kann, wie Ihre Tabellen angelegt sind und was relevant ist und in welche Reihenfolge die Dinge gehen sollten. Wenn Sie das erfinden können, werden Sie reich sein und wahrscheinlich bei Google arbeiten.

Lucene wie du erwähnt, oder Sphinx Suche (http://sphinxsearch.com/) sind großartig. MySQL hat auch eine integrierte Volltextsuche, die Sie unter http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html

finden können, aber alle diese nehmen Konfiguration und Implementierung. Sie werden nicht nur "wissen", was Sie wollen.

Das nächste, was ich denken kann, ist Google benutzerdefinierte Suche (http://www.google.com/cse/) zu versuchen. Dies betrachtet Ihre Datenbank nicht, sondern spinnt Ihre Site und indiziert Ihre Seiten, nachdem sie dynamisch zusammengestellt wurden. Sie müssen sich keine Gedanken über den Index machen, da alles bei Google erledigt ist. Natürlich können Sie das Ranking nicht anpassen (Google bestimmt es) und Sie geben die Kontrolle über die Daten auf, aber ich denke, es ist so nah an einer "out of the box" -Lösung, wie Sie finden werden.

1

Ich bin ein Fan der Sphider (http://sphider.eu) Suchmaschine.

Es ist relativ leicht, einfach einzurichten und es gibt mehrere Standorte. Ähnlich wie die Google Custom Search-Suche werden Ihre Tabellen nicht direkt durchsucht, sondern nach der dynamischen Erstellung Ihrer Seiten.

Sphider ist keine Enterprise-Lösung, aber es funktioniert für bis zu 10.000 Seite Seiten ohne zu viel von einem Leistungseinbruch.