Mailinglisten-Archive |
Hallo Norbert, mir ist da noch eine - zugegebenermaßen ungewöhnliche - Lösung eingefallen. Mittels einer Hilfstabelle, welche pro Zeile bis zu n Verweise auf Dokumente aufnimmt könntest Du die Trefferliste drastisch reduzieren. Wobei n die Zahl der pro Antwortseite auszugebenden Dokumente darstellt. Sucht ein Anwender nach dem Begriff "xyz", so kann man auf die betreffende Liste zugreifen und hat (bei n=20) die Möglichkeit für das 5960. Dokument nicht wie bisher 5959 Dokumente zu "überlesen" um das gewünschte zu erreichen sondern kommt bereits nach weniger als 300 Sätzen dorthin. Ein Satz der Hilfstabelle liefert alle Schlüssel der Dokumente für eine Antwortseite. Je größer n ist umso schneller wird das Ganze. Bei jedem Aufruf des Mechanismus würde man prüfen, ob in der Hilfstabelle zum Suchbegriff Einträge vorliegen. Wenn nicht, legt man diese an. Dann greift man darauf zu. Vorteile ergeben sich direkt bei häufigen Suchbegriffen. Für diese ist die Hilfstabelle stets gefüllt. Kommen neue Dokumente in den Pool dazu, so entfernet man entweder gezielt einzelne Satzgruppen aus der Hilfstabelle oder zappt sie ganz. Die Struktur könnte etwa so aussehen: create table tblHilf ( strKey varchar( ), nOrder int, nDocID1 int, nDocID2 int, .. nDocID20 int ) Beste Grüße, Hans-Jürgen -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive