최고의 Django 검색 앱은 무엇입니까? [닫은]


110

검색 기능이 필요한 Django 프로젝트를 구축 중이며.이있을 때까지 django.contrib.search검색 앱을 선택해야합니다. 그래서, 어느 것이 최고입니까? "최고"라는 말은 ...

  • 간편한 설치 / 설정
  • Django 또는 최소한 Python 친화적 인 API가 있습니다.
  • 상당히 복잡한 검색을 수행 할 수 있습니다.

내가 들어 본 앱은 다음과 같습니다. 알고있는 경우 다른 앱을 제안 해주세요.

또한 색인을 생성하려는 데이터 중 일부는 사이트 회원만을위한 것이며 공개해서는 안되므로 타사 검색 엔진 (예 : Google SiteSearch)을 사용하지 않고 싶습니다.



일반적으로 "best"와 같은 것은 매우 주관적이지만 django에는 허용되는 답변에서 알 수 있듯이 실제로 "best"검색 앱이 하나 있습니다.

내가 장고를 완전히 오해하지 않는 한 이것은 여전히 ​​라이브러리 요청이므로 주제에서 벗어납니다.
Jeffrey Bosboom

답변:


104

현재 Xapian , SolrWhoosh를 지원하는 새로운 모델 기반 검색 추상화 계층 인 Haystack Search를 확인하십시오 . 잘 지원되고 문서화 된 것 같습니다.


3
Haystack은 활발하게 개발 중이며 작성자는 항상 이메일 목록을 통해 확인할 수 있습니다.
Tom

2
djangosearch 프로젝트에서 : "이 프로젝트는 더 이상 개발 중이 아닙니다. 여러 검색 엔진에서 작동하는 django 전체 텍스트 검색 애플리케이션을 찾고 있다면 haystack을 확인하세요. Solr에 특정한 것을 찾고 있다면, 솔랑 고를 시도하고 싶습니다. "
Esteban Feldman

Haystack은 꽤 오랫동안 지원되어 왔습니다. 이 시점에서 피하는 것이 좋습니다. 아마도 그들은 미래에 그것을 고칠 것이지만 지금은 나쁜 곳에 있습니다.
Aaron Schif 2013

최신 버전의 haystack (2.1)이 내 Python 2.7 버전의 django 1.4에서 전혀 작동하지 않는다는 데 동의합니다.
Chris Hawkes

19

Justin, 먼저 djangosearch를 시도해 보겠습니다 . Jacob Kaplan-Moss (Django의 수석 개발자)가 작업 중입니다.

잠재적 위험 :

  • 홈페이지는 API가 완전히 안정적이지 않을 수 있다고 경고합니다.

잠재적 인 이점 :

  • "장기적인 목표는 이것이 django.contrib.search."

45
이제 페이지에 "이 프로젝트는 더 이상 개발 중이 아닙니다. 여러 검색 엔진에서 작동하는 장고 전체 텍스트 검색 응용 프로그램을 찾고 있다면 Haystack을 확인하십시오."
Tomas Andrle 2009-06-30

18

나는 다른 많은 사람들과 마찬가지로 같은 것을 찾고 있습니다. django.contrib.search 가 곧 추가 되기를 바랍니다 .

그 동안 내가 찾은 것은 다음과 같습니다.

나에게 대부분은 매우 복잡하고 솔직히 구현하기가 약간 힘들어 보입니다. 나는 당신이 이것에 대해 어떻게 생각하는지 배우고 싶습니다.



8

전체 텍스트 검색 및 집계를 위해 Sphinx를 권장하고 django-sphinx는 프로덕션 용도로 충분합니다. 우리는 Sphinx가 우리 문서를 색인화하고 검색하는 가장 적은 자원 집약적이고 가장 빠른 방법이며 django-sphinx가 스핑크스 클라이언트 위에있는 멋진 래퍼라는 것을 발견했습니다.

예를 들어 특정 태그 또는 특정 작성자 (또는 둘 다)가 검색과 일치하는 문서 수를 표시하려는 경우 집계 별 그룹이 특히 좋습니다. 특히 삭제 된 기사를 즉시 제거 할 때 메모리 속성 업데이트도 편리했습니다.


6

고마워요 Garth. 장고 서치가 공식 장고 검색이되고 싶어한다는 것을 보았지만 문서를 찾을 수 없어서 사용하기가 주저했습니다! 운 좋게도 이전에 보지 못했던 SubversionREADME 가 있으며 API가 매우 멋지게 보입니다.

# set up the model
class Event(models.Model):
    title = models.CharField(max_length=255)
    date = models.DateField()
    is_outdoors = models.BooleanField()

    index = djangosearch.ModelIndex(text=['title'], 
                                    additional=['date', 'is_outdoors'])

# run a search
results = Event.index.search("django conference")

6

내부 앱에 번거롭지 않은 매우 빠른 솔루션이 필요했습니다 .

Add search to Django in a snap in a article을 찾았 습니다.

분명히 Haystack과 같은 실제 프로젝트의 속도, 확장 성 및 기능이 부족하지만 이것은 설정하기가 더 쉽고 키워드 AND 검색 외에는 다른 것이 필요하지 않습니다.



2

여기 모두 django-xappy를 놓친 것 같습니다.

Django의 모든 기존 검색 애드온을 빠르게 평가 한 후이 애드온이 가장 유연하고 사용하기 쉽습니다. 가장자리가 거칠지 만 Django 프로젝트 내 에서 Xapian 검색 엔진의 힘을 사용하는 가장 좋은 방법 입니다.



1

인덱싱 할 데이터가 많거나 트래픽이 많을 것으로 예상되는 경우 Solr 와 같은 외부 검색 엔진을 사용하는 것이 좋습니다 . 이렇게하면 비공유 접근 방식을 유지 하고 사이트 구성 요소를 독립적으로 확장 할 수 있습니다.


1

Djapian에게 외쳐야 할 것 같아요.

매우 견고합니다. 소스 배포판을 아래로 내리고 내부를 들여다보세요. 최고 수준의 코드,별로 댓글이 많지 않습니다 ..

아직은 어린 소프트웨어 프로젝트이지만 장고 커뮤니티가이 프로젝트에 무게를 두어야한다고 생각합니다.


0

감사합니다 조,

우리는 Tsearch2와 커스텀 postgres 어댑터를 사용하기로 결정했습니다. Tsearch2는 실행하는 데 추가 프로세스가 필요하지 않습니다. 제한된 메모리로 WebFaction 호스팅을하고 있기 때문에 편리했습니다 ... 아직 완전히 완료되지는 않았지만 좋은 솔루션 인 것 같습니다 ...


0

내가 발견 Djoosh 순수 파이썬 외부 검색 엔진에 의존 내 '파이썬'뇌와 잘 작동 할 수 있습니다.


0

타사 검색 엔진을 사용하려는 경우 Yahoo BOSSdjango-bosssearch를 추천 할 수 있습니다 .

Yahoo BOSS는 유료 서비스이지만 서버에서 다른 검색 소프트웨어를 설정하고 유지 관리 할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.