2017-02-13 79 views
0

我有下面的查询,应该返回文档的一个子集,但它返回所有文档,我不知道为什么。SOLR 6.3.0 - 日期范围不返回任何结果

select q=*:*& 
facet=true& 
facet.range=date& 
f.date.facet.range.start=2017-02-07T00:00:00Z& 
f.date.facet.range.end=2017-02-08T00:00:00Z& 
f.date.facet.range.gap=%2B1DAY 

的托管schema.xml中:

<field name="date" type="tdate" indexed="true" stored="true" required="true"/> 

任何帮助,将不胜感激, 埃里克

回答

0

q是,你问你要使用什么样的文档的部分。现在它返回所有文档,因为您要求所有文档(q = *:*没有空格)。如果你想文档存在的一个子集(基于日期),你必须添加FQ过滤掉你不想要的文档,所以:

select q=*:*&fq=date:[2017-02-07T00:00:00Z TO 2017-02-08T00:00:00Z] 

现在,一旦你的文档的子集,你可以问获取有关该子集的其他信息,如刻面。因此,您可以在上面添加所有额外面元参数以获取该信息:

select q=*:*& 
fq=date:[2017-02-07T00:00:00Z TO 2017-02-08T00:00:00Z]& 
facet=true& 
facet.range=date& 
f.date.facet.range.start=2017-02-07T00:00:00Z& 
f.date.facet.range.end=2017-02-08T00:00:00Z& 
f.date.facet.range.gap=%2B1DAY