는 전 모델에 전체 텍스트 검색을 할 장고 - 건초 더미를 사용할 수 있어야합니다. 이 모델은 PointField를 사용하여 좌표를 저장합니다. 한 지점에서 거리를 기준으로 검색 결과를 필터링하고 싶습니다. Haystack에서 가능합니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?Haystack을 geodjango PointField로 필터링 할 수 있습니까?
2
A
답변
3
사용자가 텍스트 검색에 주소 나 우편 번호와 같은 지리 정보를 입력하는 것처럼 들리는 것 같습니다. 이것은 그것이 어떻게 비례하는지 아직 잘 모르겠지만 어떻게 했는가? 방금 5 분 전에 끝냈어.
You should create a custom search form
는 SearchForm에서 서브 클래스 나 (나를 위해 그것을 FacetedSearchForm했다) 다른 옵션 중 하나. 검색 방법을 덮어 씁니다.첫째는 점에 검색 문자열을 설정합니다. 그것은 (당신이 load_all_queryset을 사용할 수 있기 때문에 http://code.google.com/p/geopy/wiki/GettingStarted
class MainSearchForm(FacetedSearchForm):
def search(self):
query = self.cleaned_data['q']
g = geocoders.Google()
place, (lat, lng) = g.geocode('%s' % query)
pnt = fromstr('POINT(%s %s)' % (lng, lat), srid=4326)
그런 다음 검색 쿼리 설정을, 나는 거리에 의해 필터링 곳이다) RelatedSearchQuerySet을 사용했다. GeoDjango가 구출에 GeoDjango Distance Queries으로 있습니다. 거리 쿼리를 사용하면 원하는 거리 단위, 거리보다 큰 거리 및 거리 자체를 필터링하는 방법을 선택할 수 있습니다.
sqs = RelatedSearchQuerySet().load_all()
sqs = sqs.load_all_queryset(Listing,
Listing.objects.filter(location__distance_lte=(pnt, D(mi=20))))
return sqs
견고한 시작이어야합니다. 희망이 올바른 방향으로 당신을 가리 킵니다.
관련 문제
- 1. django-haystack을 사용하면 부분적인 용어로만 검색을 수행 할 수 있습니까?
- 2. Datatable을 LINQ로 필터링 할 수 있습니까?
- 3. 클래스별로 NSArray를 필터링 할 수 있습니까?
- 4. log4net의 로거 수준에서 필터링 할 수 있습니까
- 5. 유형에 따라 파일을 필터링 할 수 있습니까?
- 6. 시작 geodjango
- 7. PostGIS + Geodjango + OpenLayer
- 8. GeoDjango : 포인트와 반경
- 9. GeoDjango 거리 검색
- 10. .NET oData DataService가 하위 레코드를 강제로 필터링 할 수 있습니까?
- 11. 튜플의 튜플에서 두 번째 요소를 어떻게 필터링 할 수 있습니까?
- 12. Django에서는 검색 상자와 카테고리별로 검색하고 필터링 할 수 있습니까?
- 13. OData 리소스를 마지막으로 업데이트 한 날짜까지 필터링 할 수 있습니까?
- 14. isSaleable 속성을 사용하여 제품의 가용성을 어떻게 필터링 할 수 있습니까?
- 15. 최상의 성능으로 어떻게 필터링 할 수 있습니까? (JAVA)
- 16. 어떻게 파이썬에서 중복 행을 효율적으로 필터링 할 수 있습니까?
- 17. 파이썬 목록으로 장고 모델을 필터링 할 수 있습니까?
- 18. 코어 이미지 필터로 전체 화면을 필터링 할 수 있습니까?
- 19. Excel VBA에서 UDF를 작성하여 셀 범위를 필터링 할 수 있습니까?
- 20. JDO 쿼리 : 복잡한 개체를 사용하여 필터링 할 수 있습니까?
- 21. ASP.NET 웹 사이트에 허용되는 CultureInfo 유형을 필터링 할 수 있습니까?
- 22. Django 일반보기를 사용할 때 request.user에서 필터링 할 수 있습니까?
- 23. 행 대신 열로 DataView를 필터링 할 수 있습니까
- 24. Linq를 사용하여 web.config AppSettings를 반복/필터링 할 수 있습니까?
- 25. Django 스마트 선택을 사용하여 ManyToManyField를 필터링 할 수 있습니까?
- 26. 데이터 프레임을 필터링 할 수 없습니까?
- 27. buildout을 사용하여 django-haystack을 설치하는 방법
- 28. Geodjango/PostGIS에 직접 다각형 추가하기
- 29. SearchQuerySet으로 haystack 결과 필터링
- 30. geodjango - 도시, 주 또는 우편 번호로 검색
업데이트 : 건초 더미에서 2.0로, 공간 검색이 implimented하고 있으며, geodjango 필드와 매우 잘 작동합니다. – agabel
안녕하세요 @ 아가벨. Haystack 2.0 및 geodjango를 사용하여 문제를 해결하는 데 도움이되는 코드 샘플을 게시 할 수 있습니까? 감사! –