Hallo zusammen,

etwas verwunderlich, dass es zu dem thema nicht wirklich soviel gibt:

"autocomplete(jQuery) Suche(Search_Lucene oder nur DB-Query) am Beispiel von Locations, Performance"

Gerne möchte ich das Thema zur Diskussion stellen aus der Sicht der Performance.

Der grobe Ablauf sollte klar sein:

1. User tippt in dem Suchfeld etwas ein, ab dem 3. Zeichen beginnt das autocomplete

2. der Ajax Abruf ruft die Action auf

3. der ablauf in der Action:

Variante 1: Es wird per Zend_Search_Lucene
auf den existierenden Cache der Tabelle Location(Strasse, Ort, Land) zugegriffen

Variante 2: Es wird ein fetchAll in Zend_Search_Lucene reingesteckt

Variante 3: Es wird direkt per Query auf die Tabelle zugegriffen und das Ergebnis direkt ausgespuckt ohne Zend_Search_Lucene

Wichtig zu wissen ist:
- die Tabelle wird mindestens 80.000 Locations haben, diese werden auf ca. 900.000 Locations anwachsen.
- es werden ca. 10 Suchanfragen in der Spitze pro Sekunde erwartet

- es sollte bei der User-Eingabe egal sein an welcher Position der User was eingibt:
- Stadt Land Strasse
- Land Stadt Strasse
- Strasse Land Stadt
- ...

Man könnte natürlich hingeben und sich der google-map-api bedienen, aber da ist ja dann auch alles drin.
Man will den User nur das auch geben was man auch wirklich hat.


Gerne würden mich Eure Meinung zu diesen Szenarien interessieren.


Es wird verwendet:
ZF1, jquery, MySQL