Eine Zwischenspeicherung der restlichen Ergebnisse ist IMHO nicht nötig. Da der gleiche Aufruf jedesmal das gleiche Ergebnis erzeugt, wird die Suche einfach neu gestartet, diesmal aber die Ergebnisse erst ab Nummer wasauchimmer ausgegeben. So würde ich das machen...
Sorry, Frank:
Wenn ich Limitierung UND Sortierung nach einer rating-Funktion haben will (Stefan will mit "maximal 100 Treffer anzeigen" das erste, Du willst das zweite mit dem CAN-Operator), dann muß ich doch erst einmal alle 10000 Treffer berechnen, damit ich sie dann sortieren und davon dann die besten 100 ausgeben kann ... das ist das Problem, wenn man zuviel auf einmal versucht.
Will ich nur *irgendwelche* 100 Treffer, dann kann ich nach der Berechnung von 100 Treffern abbrechen. Das ist sogar performanter als die bisherige Lösung.
Will ich die letzten 100 Treffer, dann muß ich leider ebenfalls 10000 Treffer berechnen, weil ich die Indexdatei nicht von hinten lesen kann. (Oder???)
Deshalb wäre ich mit allem, was nach "intelligenter" Auswahl der Treffer aussieht, *sehr* vorsichtig - man kann das problemlos bauen, aber es kann furchtbar viel Leistung kosten (CPU-Zeit, RAM für die Sortierung von 10000 Treffern, ...).
Was haltet ihr davon, die Zahl der überhaupt zu berechnenden Treffer "hart" nach oben zu begrenzen? (Wer liest schon mehr als 500 Treffer durch, statt seine Suchbegriffe zu verfeinern, wenn man das endlich kann?)
Unter dieser Voraussetzung sehe ich eine *Chance*, über CAN und ggf. sogar NEAR (mehr oder weniger) ernsthaft nachzudenken. Sonst nicht - wir wollen ja den Server nicht lahmlegen.