Запрос Solr geodist () возвращает «Источник значения не доступен напрямую из этого поля» - PullRequest
0 голосов
/ 08 февраля 2019

Я использую Solr 7.4.0 с версией spring-boot-starter-data-solr 2.1.2

Я смотрю " AValueSource не доступен напрямую из этого поля. Вместо этого попробуйте запрос, используя расстояние в качестве оценки."Исключение при каждом выполнении запроса geodist ().

Вот как я формирую запрос

Point point = new Point(42.9254,78.8696)
Criteria criteria = new Criteria()
criteria.function(new GeoDistanceFunction.Builder(new SimpleField('latLong')).to(point)) 

SimpleQuery query = new SimpleQuery(criteria)
  .addSort(new Sort(Sort.Direction.ASC, 'score'))

При выполнении вышеупомянутого SimpleQuery с solrTemplate.queryForPage () происходит сбой с сообщением «Источник значения не доступен напрямую из этого поля».

SolrQuery, сгенерированный внутри solrTemplate

q={!func}geodist(latLong,42.9254,78.8696)

Поле, к которому я пытаюсь выполнить запрос

<field name="latLong" type="location" indexed="true" stored="true" required="true"/>

<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/>
...