为什么solr spatial / geofilt会省略其他fq条件?

时间:2013-07-18 05:55:59

标签: solr spatial date-range spatial-query

我是索尔的首发。以下是我的fq查询 -

{!geofilt pt=43.653226,-79.38318429999998 sfield=lat_lon d=100} AND -(start_date: [2013-07-01T0:00:00Z TO 2013-07-18T0:00:00Z] AND end_date: [2013-07-01T0:00:00Z TO 2013-07-18T0:00:00Z])

我的查询目标是查找来自给定LatLon的100公里内的所有项目,其中没有start_date或end_date属于日期范围[2013-07-01T0:00:00Z至2013-07-18T0:00:00Z]。这里start_date和end_date是多值字段。但它不会过滤该日期范围。当我删除GEOFILT选项时,它会发生如下 -

-(start_date: [2013-07-01T0:00:00Z TO 2013-07-18T0:00:00Z] AND end_date: [2013-07-01T0:00:00Z TO 2013-07-18T0:00:00Z])

即使它适用于其他fq条件,但不适用于GEOFILT。

1 个答案:

答案 0 :(得分:0)

尝试将!geofilt放在_query_:""包装器中,如下所示:

_query_:"{!geofilt pt=43.653226,-79.38318429999998 sfield=lat_lon d=100}" AND -(start_date: [2013-07-01T0:00:00Z TO 2013-07-18T0:00:00Z] AND end_date: [2013-07-01T0:00:00Z TO 2013-07-18T0:00:00Z])