Я использую Solr 7.4.0 с spring-boot-starter-data-solr 2.1.2 версия
Ранее я использовал Solr 5.3.1& использовал приведенный ниже код для получения результатов geofilt ()
Point point = new Point(42.9254,-78.8696)
Criteria criteria = new Criteria('latLong')
criteria.within(point, new Distance(100, Metrics.MILES))
SimpleQuery query = new SimpleQuery(criteria)
.addProjectionOnFields(new SimpleField('score'))
.addSort(new Sort(Sort.Direction.ASC, 'score'))
.setRows(100)
SolrQuery, сформированный внутренне с помощью SolrTemplate
q={!geofilt+pt=42.9254,-78.8696+sfield=latLong+d=160.9344}&rows=100&fl=score&sort=score+asc
После обновления до Solr 7.4.0 вышеуказанный запрос возвращает 1 балл для всехмои результаты.
В Solr 7.4 docs предложено добавить локальный показатель параметра в geofilt () для получения правильного результата.
Ссылка : https://lucene.apache.org/solr/guide/7_4/spatial-search.html#searching-with-query-parsers
Когда я добавляю счет = километров / миль в geofilt () вручную, запрос дает правильные результаты в баллах
q={!geofilt+pt=42.9254,-78.8696+sfield=latLong+d=160.9344%20score=kilometers}&rows=100&fl=score&sort=score+asc
Но как добавить оценка = километры или оценка = мили в запросе геодиста с использованием spring-boot-data-solr?