Почему solr пространственное/геофильтр пропускает другое условие fq?

Я новичок в 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])

Моя цель запроса — найти все элементы в пределах 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.


person Sadat    schedule 18.07.2013    source источник


Ответы (1)


попробуйте поместить !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])
person TCLopez    schedule 17.01.2014