2012-11-12 10 views
5

Ich möchte automatische Vorschlagsfunktion in Google App Engine (GAE/GWT) implementieren.Wie Auto-Vorschlag implementieren (Auto-Vervollständigung) -Funktion in GAE

Die Clientseite der Implementierung funktioniert gut mit GWT SuggestBox und RPC. Mein Hauptproblem ist die Server-Seite der Implementierung. Ich habe versucht, die Google-Such-API, aber es scheint, dass es eine Beschränkung von 250 MB der gesamten indizierten Daten gibt und die Suche kann auf vollständige Wörter und nicht Teile jedes Wortes durchgeführt werden!

Wie soll ich das angehen? Ich habe gelesen, dass Lucene oder Solr in GAE nicht unterstützt wird. Ich würde Ihre Gedanken dazu schätzen.

Antwort

3

Ich habe diesen Ansatz und es funktioniert gut für mich:

  1. Split Text in einzelne Wörter auf. Befreien Sie sich von Duplikaten, Sonderzeichen und kurzen Wörtern (in, von, und usw.).

  2. Fügen Sie diese Liste von Wörtern zu einer Entität als Listeneigenschaft hinzu.

  3. Suche über text range query: listProperty >= wordPart && listProperty < wordPart + "\ufffd"

+0

Kostet diese Lösung viel auf GAE? –

+0

Es gibt Kosten beim Speichern einer indizierten Liste von Eigenschaften. Die Kosten für die Abfrage sind dieselben wie für jede andere Abfrage. –

4

Sie können eine grundlegende Textsuche erreichen diese hier beschriebenen Techniken verwenden: http://googlecode.blogspot.com.br/2010/05/google-app-engine-basic-text-search.html

Kurz:

Erstellen Sie eine Abfrage mit content >= yourQuery && content < yourQuery + "\ufffd", wo die content Eigenschaft Ihres Unternehmens ein String oder eine Liste sein kann Saiten.

+0

ich das ausprobiert und es funktioniert gut, danke für die Antwort. –

+0

@EfstathiosKalyvas Sie sollten also die Antwort als akzeptiert markieren ;-) –