2010-11-28 5 views
6

레일즈 3 ATM의 전체 텍스트 검색 방법을 평가 중입니다. 여기있는 사람 중에 추천이 있니? 알려진 방법 (Sunspot, Sphinx, Ferret, Xapian)의 대부분이 Rails 3에서 아직 준비되지 않은 것처럼 보입니다. 그렇습니까? 현재 앱을 배포하고 싶지만 시스템에 남아있는 리소스가 많지만 검색 엔진의 유휴로드는 가능한 한 낮게 유지하려고합니다. PostgreSQL을 사용할 계획이라면 여기에 관련성이 있습니다.레일즈 3 전체 텍스트 검색

일부 읽기 후에 나는 거의 Sunspot 또는 Xapian을 사용하고 싶습니다. 그러나 다른 (그리고 더 나은) 해결책이 있다면 나에게 말해주십시오 :-) 특히 Sunspot에 관해서는, Rails 앱 외에도 완전한 Tomcat을 실행하는 것이 영리한 것인지 잘 모르겠습니다. 누구나이 별자리에 대한 경험이 있습니까? 당신이 검색 엔진을 사용한다 전체 텍스트 검색 기능을 위해 사전에

감사합니다, 울프

답변

6

PostgreSQL을 사용하는 경우 외부 라이브러리를 사용하기 전에 내장 된 텍스트 검색 기능을 많이 사용할 수 있습니다. 나는 수년간 tsearch 쿼리를 사용하여 탁월한 결과를 얻었습니다.

PostgreSQL 전체 텍스트 검색은 단어 근접을 분석하여 Relevance & ranking을 계산하고 highlighting of search results과 같은 유용한 기능을 제공합니다.

그것이 영어로 ES 복수화 접미사를 무시 알고 예를 들어,도 언어 별 정규화 규칙을 알고

; 그래서 '국가'에 대한 검색은 Google이하는 것과 같은 방식으로 '국가'에 대한 강조 표시된 결과를 다시 가져옵니다.

내가 언급 한 라이브러리를 사용하지 말 것을 제안하는 것은 아니지만, 귀하의 모든 요구 사항이 아니라면 이미 다수를 충족시킬 수 있는지 데이터베이스를 조사 할 가치가 있습니다.

+0

이 솔루션에 만족합니다. 감사. –

+0

감사합니다. 오늘 귀하의 의견은 꽤 우연의 일치입니다! 나는이 바로 그 주제 (PostgreSQL의 전체 텍스트 검색)에 대한 블로그 게시물을 작성했습니다. 나는 언젠가 그것을 나중에 언젠가 출판 할 것이다. – Scott

+0

듣고 좋은 :-). –

0

. 예를 들어 jRuby와 함께 Lucene 라이브러리를 사용할 수 있습니다. 표준 루비 (cRuby)로 머물고 싶다면 Solr을 사용하십시오.

레일에는 몇 가지 Solr 플러그인도 있습니다. 예를 들어 http://wiki.apache.org/solr/SolRuby으로 시작하는 것이 좋습니다.

1

Rails3과 함께 흑점을 사용할 수 있습니다. 문제가 없습니다. sunspot/sunspot_rails gem (1.2.rc4)을 사용하여 성공적으로 완료했습니다. Tomcat 서버 내에서 Solr을 실행하는 것은별로 번거롭지 않습니다.

0

Sunspot은 Rails3 준비가되었습니다. 이미 Rails3 앱에서 사용하고 있습니다. 나는 Solr와 Sunspot으로 많은 성공을 거뒀습니다. 우리가 시작하기에 너무나 많습니다. blog series on it