我想在Cloud Datastore中的字段DateTimeProperty
上添加索引。
我创建了一个类如下:
class Activity(BaseModel):
activity = ndb.StringProperty(required=True)
last_updated_date = ndb.DateTimeProperty(auto_now=True)
现在我想针对它运行查询,如下所示:
txt = u'last_updated_date >= {}'.format(last_login_date)
query = search.Query(query_string=txt)
result = search_index.search(query)
我已在属性last_update_date
上创建了一个索引,但是,它只搜索日期字段而不是时间字段。
因此,如果我今天在sysdate
之前创建任何新活动,它仍会显示在查询中...
答案 0 :(得分:0)
您尝试使用GAE Python Search API(您的查询代码段正在使用)来查询数据存储区(使用ndb
客户端库) - 这不会起作用 - 搜索API不使用数据存储区。从那个链接(强调我的):
文档和索引保存在单独的持久性存储中 优化搜索操作。 Search API可以索引任何数字 的文件。 App Engine数据存储可能更适合 需要检索非常大的结果集的应用程序。
要查询数据存储,您需要使用NDB Queries和Datastore Indexes(与搜索API索引不同)。
如果您确实想使用搜索API,则需要使用相同的API(而不是将信息存储在数据存储区中)从您的信息创建相应的搜索API文档。