레일스에서 사용가능한 검색 플러그인들
어떤 애플리케이션이건 데이터의 양이 일정 수준 이상이 되면 꼭 필요한 기능이 바로 검색(search) 기능이다. 다음은 레일스에서 사용 가능한 검색방법(도구)들을 정리한 것인데, 크게 나누면 DBMS에서 자체적으로 제공하는 전문검색을 이용하는 방법과 독립적인 검색엔진을 사용하는 방법으로 나눌 수 있다. 물론 가장 간단하게는 find 메서드에서 LIKE문을 사용하는 방법도 가능하지만, 제외하였다.

플러그인
특징
DBMS 의존성
비고
acts_as_indexed
자체 색인(파일색인)을 생성/관리하며, 설치 및 사용법이 간단
특정 DBMS나 검색엔진에 의존 않음 페이지네이션 구현시 will_paginate_search 플러그인과 함께 사용
acts_as_fulltextable
MySQL(MyISAM) full-text 검색 확장
MySQL

acts_as_fulltext_indexed
MySQL InnoDB 기반 전문검색
MySQL

acts_as_tsearch
Postgres의 T-search 인덱싱 확장
PostgresSQL

acts_as_ferret
Ferret 검색엔진의 레일스 확장
DBMS 의존성 없음
ferret은 Lucene 의 루비 포팅
Ultraspinx
또는 acts_as_sphinx나 sphincter
Sphinx 검색엔진의 레일스 확장
MySQL, PostgresSQL
sphinx는 DBMS와 직접 연동

acts_as_solr
또는 Solr Flare
Solr 검색서버(Lucene 기반)의 레일스 확장
-
solr-ruby (gem) 필요
acts_as_searchable (gem)
또는 acts_as_searchable_with_similarity
Hyper Estraier 검색엔진의 레일스 확장
-

acts_as_xapian
Xapian 검색엔진의 레일스 확장
-


물론 여기에 소개된 것이 다는 아닐 것이다. 중요한 건 "구슬이 서말이라도 꿰어야 보배"라는 사실 아닐까.
by thinkr | 2008/06/11 16:35 | 트랙백 | 덧글(2)
Commented by allieus at 2008/06/11 17:25
좋은 정보 감사드립니다. :)
Commented by 레인블루 at 2008/06/12 13:47
좋은 정보 저도 감사드려요.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.
< 이전페이지 다음페이지 >