2010-06-20 26 views
5

Ich erwarte, dass die index.yaml-Datei mit den erforderlichen Indizes aktualisiert wird, wenn ich Abfragen in meiner Entwicklungsumgebung ausführen. Es behauptet, dass es diese Datei im Dev-Server-Protokoll aktualisiert, aber die Datei ändert sich nicht tatsächlich. Irgendeine Idee, was könnte passieren?index.yaml wird nicht aktualisiert

Hier ist die gesamte index.yaml Datei:

indexes: 

# AUTOGENERATED 

# This index.yaml is automatically updated whenever the dev_appserver 
# detects that a new type of query is run. If you want to manage the 
# index.yaml file manually, remove the above marker line (the line 
# saying "# AUTOGENERATED"). If you want to manage some indexes 
# manually, move them above the marker line. The index.yaml file is 
# automatically uploaded to the admin console when you next deploy 
# your application using appcfg.py. 

Das Protokoll an den Punkten mehrere dieser Zeilen hat, wo ich es erwarten würde einen neuen Index hinzuzufügen:

INFO  2010-06-20 18:56:23,957 dev_appserver_index.py:205] Updating C:\photohuntservice\main\index.yaml 

Nicht sicher Wenn es wichtig ist, verwende ich Version 1.3.4 des AppEngine SDK.

Antwort

7

Sind Sie sicher, dass Sie Abfragen ausführen, für die zusammengesetzte Indizes erstellt werden müssen? Alle Abfragen, die sich auf einzelne Eigenschaften beziehen, werden mit den Standardindizes geliefert und benötigen keine index.yaml-Einträge. Alle Abfragen, die nur Gleichheitsfilter für mehrere Eigenschaften verwenden, werden mit einer Merge-Join-Strategie ausgeführt, die nicht erforderlich ist benutzerdefinierte Indizes erstellen.

Wenn Sie keine NeedIndexErrors in der Produktion erhalten (ohne eine Meldung über die vorhandenen Indizes, die eine effiziente Ausführung der Abfrage nicht zulassen), ist Ihre leere index.yaml möglicherweise völlig in Ordnung.

+0

Was ich bekomme, sind lange Abfragen, wenn ich mit GeoModel eine Näherungsabfrage mache. Es ist kein schwerer Fehler, nur eine langsame Abfrage. Ich vermute, dass fehlende Indizes dafür verantwortlich sein könnten, da ich keine habe. Vielleicht ist es ein Fehler mit GeoModel selbst ... (Mein DataStore hat ein paar hundert Elemente. Keine Abfragen sollten eigentlich langsam sein.) –

+1

@Joe Leistung auf dem dev_appserver ist nicht repräsentativ für die Leistung auf dem Live-Server - eine langsame Abfrage auf dem SDK möglicherweise nicht in Produktion. Sie müssen uns ein Beispiel für die Art der Abfrage zeigen, die Sie ausführen, um festzustellen, ob es Indizes generieren soll oder nicht. –

2

Es gibt an issue, das Python SDK unter Linux index.yaml nicht regeneriert, das unter Windows erstellt wurde. Es kann mit Ihrem Fall zusammenhängen, aber es scheint, dass Sie einfach keine queries that cause automatic index Erstellung in SDK haben.

+0

Vielen Dank. Dies scheint auch unter Linux der Fall zu sein (Python SDK). Löschte die Datei und es hat gut funktioniert;) – Gordak