我在 spring-boot-starter-data-solr 2.1.2版本中使用 Solr 7.4.0
我正面临“ 该字段无法直接提供ValueSource。而是尝试使用距离作为分数的尝试。”例外。每次运行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'))
使用solrTemplate.queryForPage()在上述SimpleQuery上执行失败,并显示“无法从此字段直接获取ValueSource”消息。
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"/>