1

我是 Solr 的初学者。以下是我的 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 TO 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。

4

1 回答 1

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])
于 2014-01-17T11:41:13.287 回答