Запрос Solr geofilt () все время возвращает 1 балл - PullRequest
0 голосов
/ 08 февраля 2019

Я использую 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?

...