hallo,
ich habe soeben eine volltextsuche in php realisiert.
mein vorgehen dabei ist folgendes:
ich lasse mir den inhalt der datensätz per
WHERE MATCH seiteninhalt AGAINST ('+".$suchwort."' IN BOOLEAN MODE)";
ausgeben.
danach überprüfe ich mit
preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"<b>\1</b>"', $seiteninhalt)
, ob das suchwort tatsächlich im text und nicht im quelltext der zu durchsuchenden Seiten vorkommt.
Das ist aber sehr ineffizient. denn wenn jemand nach "table" sucht sind praktisch alle datenbankeinträge treffer, aber nur ein bruchteil beinhaltet "table" im "sichtbaren" text! trotzdem muss quasi die gesamte datenbank "geladen" werden.
Ist es nicht möglich, den verwendeten regulären ausdruck bereits in der mysql-abfrage zu verwenden?
Oder wäre gar ein ganz anderes vorgehen ratsamer, das ich nicht kenne?
VIELEN DANK,
maxi