2010-06-20 29 views
5

Mi aspetto che il file index.yaml si aggiorni con gli indici necessari quando eseguo query nel mio ambiente di sviluppo. Afferma che sta aggiornando questo file nel registro del server di sviluppo, ma il file in realtà non cambia. Qualche idea su cosa potrebbe succedere?index.yaml non si aggiorna

Ecco l'intero file 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. 

Il registro ha molte di queste linee nei punti in cui mi aspetterei per aggiungere un nuovo indice:

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

Non è sicuro se è importante, ma sto usando la versione 1.3.4 di AppEngine SDK.

risposta

7

Sei sicuro di eseguire query che richiedono la creazione di indici compositi? Tutte le query che si trovano su singole proprietà verranno pubblicate con gli indici predefiniti e non avranno bisogno di voci index.yaml e qualsiasi query che utilizza solo filtri di uguaglianza su più proprietà verrà eseguita utilizzando una strategia merge-join che non richiede costruire indici personalizzati.

A meno che non si riesca a generare NeedIndexErrors in produzione (senza un messaggio sugli indici esistenti che non consentono alla query di funzionare in modo sufficientemente efficiente), index.yaml vuoto può essere perfettamente a posto.

+0

Quello che sto ottenendo sono lunghe interrogazioni quando uso GeoModel per fare una query di prossimità. Non è un fallimento difficile, solo una query lenta. Sospetto che gli indici mancanti potrebbero essere la colpa perché non ne ho. Forse è un difetto con GeoModel stesso ... (Il mio DataStore contiene alcune centinaia di elementi. Nessuna query dovrebbe essere effettivamente lenta.) –

+1

@Joe Le prestazioni sul server di sviluppo non sono rappresentative delle prestazioni sul server live - una query lenta sull'SDK potrebbe non essere in produzione. Devi mostrarci un esempio del tipo di query che stai eseguendo per capire se dovrebbe generare indici o meno. –

2

C'è an issue che Python SDK su Linux non rigenera index.yaml che è stato creato su Windows. Potrebbe essere correlato al tuo caso, ma sembra che tu non abbia davvero la creazione di queries that cause automatic index in SDK.

+0

Grazie. Sembra essere il caso anche su Linux (Python SDK). Cancellato il file e ha funzionato bene;) – Gordak

Problemi correlati