Solr geodist()查询返回“此字段无法直接使用ValueSource”

时间:2019-02-08 07:34:17

标签: solr spring-data solrj spring-data-solr

我在 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"/>

0 个答案:

没有答案