Appengine Search API按日期和时间搜索

时间:2013-03-11 00:44:28

标签: google-app-engine gae-search

我想知道如何在epoch datetime字段(例如1362960734565)之后有一个毫秒可以轻松搜索(例如在1234560123456之后创建的所有文档),或者我是否需要实现某种方法来分割日期或放置它是另一种格式,因为它不能用作NUMBER或DATE。

根据Google针对搜索API的文档(https://developers.google.com/appengine/docs/java/search/overview#Describing_Data_with_Documents):

  

文件字段

     

每个文档都包含将包含特定类型内容的字段。内容   类型由“字段”构建器标识,用于设置字段的内容类型,如下所示:

     
      
  • 文字:纯文字
  •   
  • HTML:HTML格式的文字
  •   
  • ATOM:被视为单个令牌的字符串
  •   
  • NUMBER:2,147,483,647和-2,147,483,647之间的数值(浮点数或整数)
  •   
  • 日期:没有时间成分的日期
  •   
  • GEO_POINT:基于纬度和经度的区域设置
  •   

1 个答案:

答案 0 :(得分:5)

我目前的解决方案:

将时间戳作为DateTime,我将日期存储在Date字段类型中,然后我得到当天的毫秒数并将其存储为数字。

然后,我使用针对这两个字段的数字运算符构建搜索API的查询,例如:

  

dayLastUpdated> = 2013-3-13 AND timeLastUpdated> 82884753