[mysql] 독립형 전체 텍스트 검색 서버 선택 : Sphinx 또는 SOLR? [닫은]

다음 속성을 가진 독립형 전체 텍스트 검색 서버를 찾고 있습니다.

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

내가 찾은 대안은 다음과 같은 속성입니다.

  • Solr (Lucene 기반)
  • ElasticSearch (Lucene 기반)
  • 스핑크스

내 질문 :

  • 그들은 어떻게 비교합니까?
  • 대안을 놓친 적이 있습니까?
  • 각 유스 케이스가 다르지만 특정 패키지를 사용하고 싶지 않은 경우가 있습니까?


답변

저는 거의 2 년 동안 Solr을 성공적으로 사용해 왔으며 스핑크스를 사용한 적이 없으므로 편견이 있습니다. 그러나 나는 문서 나 다른 사람들을 인용하여 그것을 객관적으로 유지하려고 노력할 것이다. 나는 또한 내 대답에 패치를 취할 것이다 🙂

유사점 :

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

몇 가지 차이점이 있습니다.

관련 질문 :


답변

독자적인 방식으로 검색 기능을 확장해야하는 경우가 아니라면 Sphinx가 최선의 선택입니다.

스핑크스 장점 :

  1. 개발 및 설정이 더 빠릅니다
  2. 훨씬 더 나은 (그리고 더 빠른) 집계. 이것은 우리를위한 킬러 기능이었습니다.
  3. XML이 아닙니다. 이것이 Solr을 궁극적으로 배제한 것입니다. 우리는 Solr 집계가 부족했기 때문에 오히려 큰 결과 세트를 반환하고 (수백 개의 결과를 생각하십시오) 스스로 집계해야했습니다. XML과 직렬화하는 데 걸리는 시간은 성능을 절대적으로 떨어 뜨 렸습니다. 작은 결과 집합의 경우 완벽하게 좋습니다.
  4. 오픈 소스 앱에서 본 최고의 문서

Solser의 장점 :

  1. 확장 할 수 있습니다.
  2. 웹 앱에서 직접 조회 할 수 있습니다. 즉, 자동 완성 같은 검색이 AJAX를 통해 Solr 서버에 직접 도달 할 수 있습니다.

답변

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

따라서 요점에 대답하십시오.

어느 이유?

  • 웹앱 (예제 사이트 검색 엔진)에서 사용하려면 Solr 을 사용하십시오. API 덕분에 분명히 좋을 것입니다. 당신은 확실히 웹앱을위한 힘이 필요합니다.

  • 수많은 문서 / 파일을 빠르게 검색 하려면 Sphinx를 사용하십시오 . 너무 빨리 색인을 생성합니다. 검색 결과를 얻기 위해 JSON 또는 구문 분석 XML이 포함 된 앱에서는 사용하지 않는 것이 좋습니다. 직접 dB 검색에 사용하십시오. MySQL에서 잘 작동합니다.

대안

이들은 거인이지만 훨씬 더 있습니다. 또한 이들을 사용하여 사용자 지정 프레임 워크를 강화하는 것도 있습니다. 그래서, 나는 당신이 정말로 놓친 적이 없다고 말할 것입니다. 좋은 사용자 기반을 가진 하나의 elasticsearch 가 있지만 .


답변

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


답변

Lucene / Solr은 더 많은 기능을 갖추고 있으며 비즈니스 기간이 길고 사용자 커뮤니티가 훨씬 강력합니다. imho 만약 우리가 아닌 일부 사람들이 직면 한 것처럼 초기 설정 문제를 해결할 수 있다면 Lucene / Solr이 최선의 방법이라고 말할 것입니다.


답변