문제

다음 속성이있는 독립형 풀 텍스트 검색 서버를 찾고 있습니다.

  • 여러 클라이언트의 검색 요청을 제공 할 수있는 독립형 서버로 작동해야합니다.
  • SQL 쿼리의 결과를 색인하여 "대량 인덱싱"을 수행 할 수 있어야합니다.
  • 무료 소프트웨어 여야하며 데이터베이스로 MySQL을 사용하여 Linux에서 실행해야합니다.
  • 빠르 봐야합니다 (MySQL의 내부 전체 텍스트 검색을 배제)

이러한 특성을 가진 대안은 다음과 같습니다.

  • Solr (루센 기반)
  • Elasticsearch (Lucene 기반)
  • 스핑크스

내 질문 :

  • 그들은 어떻게 비교합니까?
  • 대안을 놓쳤습니까?
  • 나는 각 유스 케이스가 다르다는 것을 알고 있지만, 내가 확실히 할 경우 어떤 경우가 있습니까? ~ 아니다 특정 패키지를 사용하고 싶습니까?
도움이 되었습니까?

해결책

나는 거의 2 년 동안 Solr을 성공적으로 사용해 왔으며 Sphinx를 사용한 적이 없으므로 분명히 편견이 있습니다. 그러나 문서 나 다른 사람들을 인용하여 목표를 유지하려고 노력할 것입니다. 나는 또한 내 대답에 패치를 가져갈 것이다 :-)

유사성 :

  • Solr과 Sphinx는 모든 요구 사항을 충족합니다. 그들은 빠르고 큰 데이터의 데이터를 효율적으로 색인하고 검색하도록 설계되었습니다.
  • 둘 다 긴 교통 부위의 목록을 사용하여 사용합니다 (솔러, 스핑크스)
  • 둘 다 상업적 지원을 제공합니다. (솔러, 스핑크스)
  • 둘 다 여러 플랫폼/언어에 대한 클라이언트 API 바인딩을 제공합니다 (스핑크스, 솔러)
  • 둘 다 속도와 용량을 높이기 위해 배포 할 수 있습니다 (스핑크스, 솔러)

몇 가지 차이점은 다음과 같습니다.

관련 질문 :

다른 팁

독점적 인 방식으로 검색 기능을 확장 할 필요가 없다면 Sphinx가 최선의 방법입니다.

스핑크스 장점 :

  1. 개발 및 설정이 더 빠릅니다
  2. 훨씬 더 낫고 더 빠른 집계. 이것은 우리에게 살인자 기능이었습니다.
  3. XML이 아닙니다. 이것이 궁극적으로 우리를 위해 Solr을 배제한 것입니다. 우리는 다소 큰 결과 세트를 반환해야했다 (수백 가지의 결과를 생각). XML을 오가는 시간은 절대적으로 성능을 죽였습니다. 작은 결과 세트의 경우 완벽하게 괜찮 았습니다.
  4. 오픈 소스 앱에서 본 최고의 문서

Solr 장점 :

  1. 확장 할 수 있습니다.
  2. 웹 앱에서 직접 누를 수 있습니다. 즉, 자동 완성 된 검색이 Ajax를 통해 직접 Solr 서버를 누르도록 할 수 있습니다.

참고 : 같은 질문을 염두에두고 많은 사용자가 있습니다.

따라서 요점에 대한 답변 :

어떤 것과 왜?

  • 사용 솔러 웹 앱 (예시적인 검색 엔진)에서 사용하려는 경우. API 덕분에 분명히 위대 할 것입니다. 웹 앱을 위해서는 확실히 그 힘이 필요합니다.

  • 사용 스핑크스 수많은 문서/파일을 검색하려면 실제로 빠르게 검색하려면. 그것은 너무 빨리 색인화됩니다. JSON 또는 XML을 구문 분석하여 검색 결과를 얻는 앱에서 사용하지 않는 것이 좋습니다. 직접 DB 검색에 사용하십시오. MySQL에서 잘 작동합니다.

대안

이것들은 거인이지만 더 많은 것이 있습니다. 또한 사용자 지정 프레임 워크에 전원을 공급하기 위해이를 사용하는 것들이 있습니다. 그래서 나는 당신이 정말로 놓치지 않았다고 말할 것입니다. 하나가 있지만 Elasticsearch 그것은 좋은 사용자 기반을 가지고 있습니다.

나는 거의 1 년 동안 Sphinx를 사용해 왔으며 놀랍습니다. MacBook에서 약 1 분 안에 150 만 문서를 색인하고 서버에서 더 빠르게 색인 할 수 있습니다. 또한 Sphinx를 사용하여 특정 위도 및 경도 내의 장소로의 검색을 제한하고 있으며 매우 빠릅니다. 또한 결과가 순위가 매겨지는 방법은 매우 조정 가능합니다. 튜토리얼을 읽는 경우 설치 및 설정이 쉽습니다. 거의 1.0 상태이지만 석방 후보자는 견고했습니다.

Lucene / Solr은 비즈니스와 훨씬 더 강력한 사용자 커뮤니티에서 더 많은 등장하는 것으로 보입니다. IMHO 일부가 직면 한 것처럼 보이기 때문에 초기 설정 문제를 극복 할 수 있다면 Lucene / Solr이 최선의 방법이라고 말할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top