2010-06-20 17 views
5

Oczekuję, że plik index.yaml zaktualizuje się o niezbędne indeksy podczas uruchamiania zapytań w moim środowisku programistycznym. Twierdzi, że aktualizuje ten plik w dzienniku serwera dev, ale plik się nie zmienia. Masz pojęcie, co się dzieje?index.yaml nie aktualizuje

Oto cały plik index.yaml:

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. 

Rejestr ma kilka z tych linii w punktach, gdzie bym się go spodziewać, aby dodać nowy indeks:

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

Nie wiem jeśli jest to ważne, ale używam wersji 1.3.4 pakietu AppEngine SDK.

Odpowiedz

7

Czy na pewno używasz zapytań, które wymagają zbudowania złożonych indeksów? Wszelkie zapytania znajdujące się w pojedynczych właściwościach będą obsługiwane z domyślnymi indeksami i nie będą wymagały wpisów index.yaml, a wszelkie zapytania korzystające tylko z filtrów równości dla wielu właściwości będą wykonywane przy użyciu strategii scalania, która nie wymaga tworzenie niestandardowych indeksów.

O ile nie otrzymasz zgłoszeń NeedIndexErrors w produkcji (bez komunikatu o istniejących indeksach, które nie pozwalają na wydajne uruchamianie kwerendy), pusty plik index.yaml może być całkowicie poprawny.

+0

To, co otrzymuję, to długie zapytania, gdy używam GeoModel do wykonania zapytania zbliżeniowego. To nie jest ciężka porażka, tylko powolne zapytanie. Podejrzewam, że brakujące wskaźniki mogą być przyczyną winy, ponieważ nie mam żadnych. Być może jest to wada samego GeoModel ... (Mój DataStore ma kilkaset elementów w nim, żadne zapytania nie powinny być powolne.) –

+1

@Joe Wydajność na dev_appserver nie jest reprezentatywna dla wydajności na serwerze na żywo - powolne zapytanie na SDK może nie być w produkcji. Musisz pokazać nam przykład zapytania, które wykonujesz dla nas, aby stwierdzić, czy powinien generować indeksy, czy nie. –

2

Istnieje an issue, że Python SDK w systemie Linux nie odtwarza index.yaml, który został utworzony w systemie Windows. Może to być związane z twoją sprawą, ale wygląda na to, że po prostu nie masz żadnego stworzenia queries that cause automatic index w SDK.

+0

Dziękuję. Wydaje się, że tak też jest w przypadku Linuksa (Python SDK). Usunięto plik i wszystko działało dobrze;) – Gordak