Volltext-Suche auf der App Engine mit Whoosh
Muss ich tun, voll-text-Suche mit Google App Engine. Ich fand das Projekt Schwups und es funktioniert wirklich gut, solange ich die App Engine Development Environement... Wenn ich meine Dateien hochladen-Anwendung auf App Engine, bekomme ich folgenden TraceBack. Bei meinen tests bin ich mit der Beispiel-Anwendung in diesem Projekt. Irgendeine Idee, was ich falsch mache?
<type 'exceptions.ImportError'>: cannot import name loads
Traceback (most recent call last):
File "/base/data/home/apps/myapp/1.334374478538362709/hello.py", line 6, in <module>
from whoosh import store
File "/base/data/home/apps/myapp/1.334374478538362709/whoosh/__init__.py", line 17, in <module>
from whoosh.index import open_dir, create_in
File "/base/data/home/apps/myapp/1.334374478538362709/whoosh/index.py", line 31, in <module>
from whoosh import fields, store
File "/base/data/home/apps/myapp/1.334374478538362709/whoosh/store.py", line 27, in <module>
from whoosh import tables
File "/base/data/home/apps/myapp/1.334374478538362709/whoosh/tables.py", line 43, in <module>
from marshal import loads
Hier ist der import, die ich in meinem Python-Datei.
# Whoosh ----------------------------------------------------------------------
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'utils')))
from whoosh.fields import Schema, STORED, ID, KEYWORD, TEXT
from whoosh.index import getdatastoreindex
from whoosh.qparser import QueryParser, MultifieldParser
Vielen Dank im Voraus für Eure Hilfe!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie wahrscheinlich Ihre Probleme zu lösen, die durch das herunterladen und verwenden Schwups-Appengine, die Schwups-version, die speziell für die Arbeit mit Google App Engine.
whoosh/filedb/gae.py
in die 2.4.1 Version.Dies ist ein offizielles Beispiel über die Implementierung full-text-Suche: http://code.google.com/p/guestbook-example-appengine-full-text-search/
Bin ich gerade Lesen durch Sie bin ich in die Notwendigkeit, es umzusetzen, vielleicht hilft es anderen auch.
Den Marschall-Modul wird nicht unterstützt, auf Google app engine. Es ist da, aber es ist leer. Marschall arbeitet als normal in der dev. Umgebung wurde registriert als ein Problem.
Sehen die Dokumentation.
Können Sie Folgendes versuchen, um monkeypatch der Marschall-Modul. Fügen Sie den folgenden code, bevor Sie jede andere Importe:
Ich habe nicht versucht, diese, so habe ich absolut keine Ahnung, ob es funktionieren wird! Auch bewusst sein, dass Gurke Lasten/dumps ist langsamer als Marschall Transporte/Deponien.
Siehe Kommentar #71 hier:
http://code.google.com/p/googleappengine/issues/detail?id=217&q=Whoosh&colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component#c71:
Es ist nicht mein Instrument, aber er sagt:
Habe ich einen full-text-search-api, die durch das portieren http://whoosh.ca/ so ist es verfügbar
auf der AppEngine. (es speichert den index in der datastore)
Können Sie laden Sie es von http://github.com/tallstreet/Whoosh-AppEngine/tree/master
Es enthält alle Whooshes Funktionen, einschließlich:
1 Pythonic API.
2 Beantwortete die Indizierung und Suche.
3 Schnelle Indexierung und retrieval
4 Steckbare scoring-Algorithmus (einschließlich BM25F), text-Analyse, - Speicherung, Veröffentlichung
format, etc.
5 Mächtige Abfragesprache analysiert pyparsing.
6 Reine Python-spell-checker