我正在尝试查询数据(使用solr)并获取“天”计数。
我对以下代码有疑问:
solrQuery.addDateRangeFacet("startTimeISO", date1.toDate(), date2.toDate(), "%2B1DAY");
solrQuery.setQuery(queryString);
QueryResponse response = null;
try {
response = solrClient.getSolrServer(getCollectionName(Constants.WebPeerAnomaliesModelTuple()._1())).query(solrQuery);
} catch (Exception exp) {
LOGGER.error("Failed to get facet results: ", exp);
}
我在这里遇到的错误是:
“无法将字段%2B1DAY添加为值Pst 2014年11月14日星期五06:37:30 startTimeISO的差值”
有人可以帮我这是什么问题吗?
我不确定“%2B1DAY”为什么会失败。当我从浏览器中执行相同的操作时,我得到的是正确的结果。如果我从url查询以下内容,则可以使用:
/select?facet=true&facet.date=startTimeISO&facet.date.start=NOW/DAY-30DAYS&facet.date.end=NOW/DAY%2B1DAY&facet.date.gap=%2B1DAY
抱歉,如果我要问一个小问题。我仍在尝试调试。任何指针都会有所帮助。谢谢。
更新:解决方案:
我能够调试它,并找出为什么我得到此错误。
在我的Java代码中,应该添加“+ 1Day”而不是“%2B1DAY”。
通过浏览器查询有效,因为+为%2B(URL编码)
很抱歉这个愚蠢的问题。
希望它可以帮助某人。 :)
最佳答案
将我的解决方案添加为答案:正如一位评论者所述,人们很可能会错过我针对该问题提供的更新。
解决方案:
我能够调试它,并找出为什么我得到此错误。
在我的Java代码中,应该添加“+ 1Day”而不是“%2B1DAY”。通过浏览器查询有效,因为+是%2B(URL编码)对不起这个问题。希望它可以帮助某人。 :)
关于solr4 - SOLR : solrQuery. addDateRangeFacet():无法将间隙%2B1DAY添加到字段的值中:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27578311/