Date 按日期筛选时无法从Solr检索所需文档
我实际上无法从Solr检索文档。我是这样提交的:Date 按日期筛选时无法从Solr检索所需文档,date,solr,Date,Solr,我实际上无法从Solr检索文档。我是这样提交的: <add> <doc> <field name="id">1</field> <field name="date_online">2012-02-09T19:46:00Z</field> </doc> </add> 在我提交文档并发布提交命令后,当我使用q=*:*和fq=date_online:[*到现在/分钟]搜索时,我无法
<add>
<doc>
<field name="id">1</field>
<field name="date_online">2012-02-09T19:46:00Z</field>
</doc>
</add>
在我提交文档并发布提交命令后,当我使用q=*:*和fq=date_online:[*到现在/分钟]搜索时,我无法检索我刚刚提交的文档。当然,日期肯定有问题,但我已经在服务器上检查了时间,并且是正确的,而且我还能够在本地重现问题
有人知道我为什么找不到那个文件吗?为什么它与我的查询不匹配?问题当然是日期!我发现一个小时后就可以检索到文档了,所以我找到了答案。Solr使用UTC表示时间,我发送的是我的实际时区GMT+1的日期和时间,这就是为什么我只能在一小时后获得文档。事实上,在提交给Solr之前,需要将时间转换为UTC格式 比如说,格林尼治标准时间6点+1,Solr标准时间仅为UTC标准时间5点。如果您发送的文档中包含日期字段,例如2012-02-09T18:00:00Z,则该日期不包含有关Solr时区的任何信息,即UTC时间6点。如果你像我一样在那个日期筛选,你只会在一小时后看到那个文档。将文档发送到Solr之前,将日期转换为UTC 2012-02-09T17:00:00Z的正确方法
<field name="date_online" type="tdate" indexed="true" stored="false" />