我在使用Google的App引擎索引時遇到問題。當通過GoogleAppEngineLauncher運行我的應用時,該應用工作正常。當部署應用程序,我得到以下錯誤:Google App引擎錯誤:NeedIndexError:找不到匹配索引
NeedIndexError: no matching index found.
The suggested index for this query is:
- kind: Bar
ancestor: yes
properties:
- name: rating
direction: desc
這行代碼後生成該錯誤:
bars = bar_query.fetch(10)
上面的代碼行之前,有這麼一句話:
bar_query = Bar.query(ancestor=guestbook_key(guestbook_name)).order(-Bar.rating)
我index.yaml中文件包含的具體 「建議」 下面#指數自動生成:
- kind: Bar
ancestor: yes
properties:
- name: rating
direction: desc
我可能錯過了什麼嗎?我刪除了index.yaml文件並再次部署應用程序(通過命令行),並且少了一個文件被上傳 - 所以index.yaml文件就在那裏。
一切工作正常本地。我正在研究最新的Mac OSx。用於部署的命令是:
appcfg.py -A app-name --oauth2 update app
我實施的數據存儲鬆散地基於留言板教程應用程序。
任何幫助將不勝感激。
編輯:
我ndb.Model定義如下:
class Bar(ndb.Model):
content = ndb.StringProperty(indexed=False)
lat = ndb.FloatProperty(indexed=False)
lon = ndb.FloatProperty(indexed=False)
rating = ndb.IntegerProperty(indexed=True)
url = ndb.TextProperty(indexed=False)
嗨@Andrei,謝謝,我一直在那裏。它說:「你還沒有爲這個應用程序創建索引,有些類型的查詢需要建立索引,你可以在index.yaml文件中管理索引。」在其他論壇上我讀到,使用index.yaml時,它從不說「服務」。 – ISJ
我在某處讀到以下內容:「您在datastore-index.xml中放入的索引是單個屬性索引,這意味着它由Datastore自動構建,並且不會顯示在控制檯中。」 – ISJ
你是對的 - 單個屬性索引不必定義,它們不會顯示在索引頁上。我忘了問顯而易見:這是屬性索引? –