Google app engine 使用AppEngine搜索API按日期排序

Google app engine 使用AppEngine搜索API按日期排序,google-app-engine,google-app-engine-python,Google App Engine,Google App Engine Python,我有一个包含内容文本字段和日期字段的文档。我正在设法取回最近的文件 使用“日期>纪元”的常规搜索似乎已经对 按日期列出结果。这是预期的行为吗 当我尝试使用SortExpression显式排序时,结果甚至不会按任何特定顺序排序(在dev服务器上除外,它似乎也可以工作) 我正在使用以下代码: index.search(search.Query(query_string='date > epoch', options=search.Que

我有一个包含内容文本字段和日期字段的文档。我正在设法取回最近的文件

  • 使用“日期>纪元”的常规搜索似乎已经对 按日期列出结果。这是预期的行为吗
  • 当我尝试使用SortExpression显式排序时,结果甚至不会按任何特定顺序排序(在dev服务器上除外,它似乎也可以工作)
我正在使用以下代码:

index.search(search.Query(query_string='date > epoch', 
                          options=search.QueryOptions(
                            sort_options=search.SortOptions(
                              expressions=[search.SortExpression(
                                 expression='date', 
                                 direction=search.SortExpression.DESCENDING, 
                                 default_value='1970-01-01')])))

正确的方法是什么?

当您按字段筛选时,您将强制使用索引,结果是输出将按该字段排序

单独使用查询字符串调用search()方法时 根据默认查询选项返回结果:

  • 返回的文档按降序排序
  • 每次以20人一组的方式返回文档
  • 检索到的文档包含其所有原始字段

不知道为什么它不适用于显式排序选项。

当您按字段筛选时,您将强制使用索引,并且作为附带结果,输出将按该字段排序

单独使用查询字符串调用search()方法时 根据默认查询选项返回结果:

  • 返回的文档按降序排序
  • 每次以20人一组的方式返回文档
  • 检索到的文档包含其所有原始字段

不知道为什么它不能与显式排序选项一起使用。

根据文档,除非您指定不同的排序选项,否则所有文档都是按其等级排序的。并且文档排名设置为添加到索引的时间,除非您指定了其他排名


如果这是您想要的行为,则无需添加日期字段并按其排序。

根据文档,除非您指定不同的排序选项,否则所有文档都按其等级排序。并且文档排名设置为添加到索引的时间,除非您指定了其他排名

如果这是您想要的行为,则无需添加日期字段并按其排序