Reputation: 110093
Here is how I get all items within distance I need:
query_string = 'distance(LocationCoord, geopoint(35.2, 40.5)) < 1000'
query_options = search.QueryOptions(
returned_fields=['ID', 'GUID', 'LocationCoord', '**distance()**']
)
query = search.Query(query_string=query_string, options=query_options)
res = index.search(query)
How would I actually return what the distance is in the search result?
Upvotes: 1
Views: 30
Reputation: 110093
For this, you can add in a FieldExpression:
query_string = 'distance(LocationCoord, geopoint(35.2, 40.5)) < 1000'
expression = search.FieldExpression(name='distance', expression='distance(LocationCoord, geopoint(35.2, 40.5))')
query_options = search.QueryOptions(
returned_fields=['ID', 'GUID', 'LocationCoord']
returned_expressions=[expression],
)
query = search.Query(query_string=query_string, options=query_options)
res = index.search(query)
Upvotes: 1