Philipp Hasenfratz: Wie erstellt man index-Dateien für eine Volltext-Suche?

Beitrag lesen

Halihallo Andreas

liegt ja doch noch einer nicht schlapp im Bett oder unterm Baum ;)

Oh, aber fast. Nur dass schlapp und unterm Baum nicht ganz zutreffend ist. Ich stehe
auf dem heissen Sand, in der Mitte des Feldes ein Netz aufgespannt und irgendwie fliegt
da immer ein Ball möglichst immer über das Netz... Bald, bald stehe ich dort, bei meinem
geliebten Beach-Volleyball :-)

Jedes Dokument wird zuerst indexiert, d.h. in Wörter oder Wortkombinationen aufgeschlüsselt und nur diese werden gespeichert.
So! WELCHE Wörter nimmt man denn da. Alle? Und wann nehme ich Wortkombinationen?

Ähm, das hängt von dir ab :-)

- Stoppwortliste (Negativwortliste):

Wörter wie "und, oder, er, es, the, ..." müssen wohl kaum indexiert werden, da sie
   absolut irrelevant für die Suche sind. Diese kannst du gleich ins Datennirvana senden.

- Wortkombinationen kommen sehr selten vor. Ich würde dir der einfachheitshalber eine
   "Einwortindexierung" vorschlagen.

Zudem kann ein guter Index sehr viel schneller durchsucht werden, da er vorsortiert sein kann (wie z.B. die Indizies bei Datenbanken).
ist denn ein assoziatives Array aus Sicht einer Programmiersprache auch 'vorsortiert'?

Nein. Ein assoziatives Array ist eigentlich immer unsortiert, da die Keys eine Menge und
kein Array sind. Aber: in den meisten 4GL Languages (PHP/Perl/...) kommen hashing-
Algorithmen zum Einsatz, sodass ein Eintrag dennoch sehr schnell gefunden werden kann.

Benutzt du eine MySQL Datenbank? - Dann wäre ggf.
http://www.mysql.com/doc/en/Fulltext_Search.html lesenswert. Sonst müsstest du etwas mehr dazu sagen, wie du die Volltextsuche haben möchtest und welche Techniken dir zu Verfügung stehen.
Ich habe MySQL/PHP. Die Kopfdaten der Postings speichere ich in der DB, aber die Inhalte der Postings speichere ich in Dateien (aus Platzgründen, und um vielleicht mal einen Download anbieten zu können).

Spricht etwas dagegen den Volltextindex von MySQL (Achtung: Version beachten!) zu
verwenden? - Einen eigenen Index zu erstellen ist nicht so einfach, wie es sich jetzt
vielleicht anhört...

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.