Наконец-то получили решение.Сначала поместите значение latlong как текст (lat, long), а затем присвойте это значение latlong как местоположение, это используется в качестве поля для геопространственного запроса
<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true" />
<field name="latlong" type="text_general" indexed="true" stored="false" multiValued="false"/>
<field name="location" type="location" indexed="true" stored="true" multiValued="false"/>
, используя copyField, он хранит значение latlong
<copyField source="latlong" dest="location"/>
Запрос:
d=5&fq={!geofilt sfield=location}&pt=22.303894,70.802162&q=*:*
Ответ:
{
"responseHeader":{
"status":0,
"QTime":1,
"params":{
"q":"*:*",
"d":"5",
"pt":"22.303894,70.802162",
"fq":"{!geofilt sfield=store}",
"_":"1557114448320"}},
"response":{"numFound":15,"start":0,"docs":[
{
"zipCode":"360003",
"currencySign":"₹",
"suspendedByAdmin":false,
"likeCount":45,
"id":509,
"longitude":70.8147741,
"latlong":"22.3024966,70.8147741",
"_version_":1632752689826758656,
"store":"22.3024966,70.8147741},
{...