Der Index wird dann also um Faktor 200 größer, und der Indexer wird wesentlich langsamer
Das verstehe ich jetzt aber nicht so ganz: Es sollen ja nicht mehr die kompletten Postings abgelegt werden sondern nur noch links darauf.
Die 10000 (oder wieviele auch immer) Indexdateien werden natürlich etwas mehr Platz beanspruchen als die alte Indexdatei - Faktor 3-4 dürfte es schon sein, aber Faktor 200 scheint mir etwas zu hoch gegriffen...
Ups, da steht es ja schon, worüber ich mir an anderer Stelle den Kopf zerbrochen habe. Naja ... vielleicht sollte ich mir angewöhnen, doch erst den ganzen Thread zu lesen, bevor ich etwas poste.
Nimmt man eine Verweisliste je Schlagwort anstelle je eines Eintrages pro Posting, in dem das Schlagwort vorkommt, dann dürfte sich der Faktor auf etwa 2 reduzieren. Der Schwanzabschneider hätte dabei etwas mehr Arbeit, da er nicht mit append arbeiten kann, sondern einfügen muß. Dafür muß ein Suchlauf nicht die ganze Datei scannen, sondern kann mit Auffinden des gesuchten Wortes den Lesevorgang für das betreffende Wort abbrechen.
Diese zusätzliche Indirektion hatte ich Deinem ersten Ansatz nicht entnommen - und sie kostet ja nun mal auch einige hundert fopen() pro Suchvorgang, statt dem bisherigen linearen Lesen einer einzigen Inedxdatei.
Bitte ? Einige hundert fopen() pro Suchvorgang ? Dem kann ich nicht folgen. Pro Suchbegriff wird exakt eine Indexdatei geöffnet. Einzig bei der Phrasensuche kommen noch die Zugriffe auf die Threaddateien aus der Schnittmenge der Treffer im Index hinzu.
Viele Grüße
Kess