我希望在我的开发环境中运行查询时,index.yaml文件会使用必要的索引进行更新。它声称它正在dev服务器日志中更新此文件,但该文件实际上并未更改。知道可能会发生什么吗?
这是整个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.
日志在我希望添加新索引的点上有几行:
INFO 2010-06-20 18:56:23,957 dev_appserver_index.py:205] Updating C:\photohuntservice\main\index.yaml
不确定它是否重要,但我使用的是AppEngine SDK 1.3.4版。
答案 0 :(得分:7)
您确定要运行需要构建复合索引的查询吗?单个属性上的任何查询都将使用默认索引提供,并且不需要index.yaml条目,并且任何仅对多个属性使用相等过滤器的查询将使用不需要的合并连接策略执行建立自定义索引。
除非你在生产中抛出NeedIndexErrors(没有关于现有索引的消息不允许查询足够有效地运行),否则你的空index.yaml可能完全正常。
答案 1 :(得分:2)
Linux上的Python SDK无法重新生成在Windows上创建的index.yaml
an issue。它可能与您的情况有关,但您似乎并没有真正在SDK中创建queries that cause automatic index。