搜索引擎:相对日期条件的查询语法设计

时间:2015-11-19 06:33:53

标签: syntax full-text-search search-engine

我为搜索引擎设计查询语法,该搜索引擎接受相对日期作为附加条件,例如自2天前自4天前直到2天前。我的搜索引擎接受它们为since:4_days_ago until:2_days_ago之类的普通字符串,将在简单的文本框中输入。

但我不确定这些语法在语法上是否正确,以及它是否易于为我的客户使用。所以这是我的问题:

  1. 是否有任何现有服务具有类似的语法来指定相对日期?这对我来说是一个很好的参考。
  2. 有没有想过改进语法/语法或设计的好参考?
  3. 任何其他建议或意见也将不胜感激。

1 个答案:

答案 0 :(得分:1)

Programmers.SE有类似的问题(不能将此标记为副本):https://softwareengineering.stackexchange.com/questions/78795/best-representation-for-relative-dates-durations

我在这里引用它:

  

不是标准,而是FogBugz和Jira使用的惯例(两者都是   bugtrackers)是用2d这样的简单术语输入持续时间2天,   3w为3周,1m为1个月等等。

     

该公约可以延长相对于日期和期间   其他日期(通常是我假设的当前日期)。

     
      
  • 今天+ 2天:+ 2d
  •   
  • 今天一年回来:-1y
  •   
  • 下周日:+ 1Sun(使用周日名称,当然应该是特定于区域的)
  •   
  • 下个月15日:+ m15,或+ 1m15
  •   
  • 上一个20:-1m20
  •   
  • 下个月的最后一天:+ 1mL(L表示当月的最后一天/周/季/学期/年,使用大写字母L来区分它   来自许多字体中的数字1)
  •   
     

要指定句点而不仅仅是日期,你可以加倍   字母:

     
      
  • 上个月全部:-1mm
  •   
  • 下周全部:+ 1ww
  •   
  • 去年全部:-1yy
  •   
     

指定两个特定相对日期之间的时间段:

     
      
  • 下个月15日至20个月之后:+ m15 .. + 2m20
  •   
  • 上个月的所有内容也可以指定为:-1m1 ..- 1mL
  •   
     

解析可能会成为一项有趣的业务......