【问题标题】:Appengine Search API search by Date and TimeAppengine Search API 按日期和时间搜索
【发布时间】:2013-03-11 00:44:28
【问题描述】:

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

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

文档字段

每个文档都包含将包含特定类型内容的字段。内容 type 由字段生成器标识,以设置字段的内容类型,如下所示:

  • 文本:纯文本
  • HTML:HTML 格式文本
  • ATOM:被视为单个标记的字符串
  • NUMBER:介于 2,147,483,647 和 -2,147,483,647 之间的数值(浮点数或整数)
  • DATE:没有时间成分的日期
  • GEO_POINT:基于经纬度的语言环境

【问题讨论】:

  • 您可以存储为带有毫秒组件的 ISO 8601 Atom:“2013-03-13T00:20:45.123Z”

标签: google-app-engine gae-search


【解决方案1】:

我目前的解决方案:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2016-11-17
    相关资源
    最近更新 更多