1
나는 Elsesearch와 함께 Django Haystack을 사용하고 있습니다. ElasticSearch는 거리 쿼리를 수행하고 반경 5 마일에 대해 11 개의 결과를 반환 할 수 있지만 Haystack의 dwithin 방법은 동일한 기준에 대해 하나의 결과 만 반환합니다. 아래는 내 양식에서 사용하는 검색어입니다.Django Haystack/Elasticsearch dwithin은 하나의 SearchResult 만 반환합니다. 몇 가지가 있습니다
def search(self):
if not self.is_valid():
return self.no_query_found()
if not self.cleaned_data['q']:
return self.no_query_found()
sqs = self.searchqueryset.all()
distance = D(mi=5)
obj= Geo.objects.get(zip_code=self.cleaned_data['q'])
latitude = obj.latitude
longitude = obj.longitude
center_point = Point(longitude, latitude)
sqs = sqs.dwithin('location', center_point, distance)
if self.load_all:
sqs.load_all()
return sqs