Solr获取日期范围

Lic*_*ici 28 solr

好吧,我正在编写一些方法来返回间隔日期范围内的solr文档.文档以ISO 8601格式存储日期字段.

任何的想法?

谢谢

Dav*_*ria 68

SOLR wiki中查看一些文档和示例:

时间戳:[*现在]

createdate:[1976-03-06T23:59:59.999Z TO*]

createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]

pubdate:[NOW-1YEAR/DAY TO NOW/DAY + 1DAY]

创建:[1976-03-06T23:59:59.999Z至1976-03-06T23:59:59.999Z + 1YEAR]

创建:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:59.999Z]

大卫,希望这会有所帮助.

  • 所有文字日期示例都使用日期时间,是否可以仅使用日期?例如创建:[1976-03-06至1976-03-09] (3认同)
  • 或者只能与时间一起工作? (2认同)

san*_*den 32

在这里您可以找到有关范围查询的更多详细信

https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser

一些例子

1. Exact Matching: q= modify_date:"2012-07-06T9:23:43Z"
2. Less than: q= modify_date:{* TO 2012-07-06T9:23:43Z } 
3. More than: q= modify_date:{ 2012-07-06T9:23:43Z TO *}
4. Less or equal than: modify_date:[* TO 2012-07-06T9:23:43Z] 
5. More or equal than: modify_date:[ 2012-07-06T9:23:43Z TO *]
Run Code Online (Sandbox Code Playgroud)

方括号[]表示包含范围查询,该查询匹配包括上限和下限的值.

Curly bracket {}表示一个独占范围查询,它匹配上限和下限之间的值,但不包括上限和下限.