IT 기술/Developer article

[소개]IBM DeveloperWorks : PHP로 커스텀 검색 엔진 구현하기 (한글)

ㅇㅔ ㄷㅡ 2007. 10. 9. 14:40
 이번에는 IBM DeveloperWorks의 오픈소스 관련 문서를 소개하고자합니다.
[PHP로 커스텀 검색 엔진 구현하기(한글)]이라는 문서이며, [Sphinx[각주:1]를 사용하여 콘텐트를 색인하고, 텍스트를 빠르게 찾으며, 유용한 검색 결과 만들기]라는 부제가 붙어있습니다. 이번에도 한글로 된 문서네요. 번역하신 분에게 감사드립니다.

저자인 Martin Streicher는 Linux Magazine 편집장이로군요. 퍼듀 대학에서 컴퓨터 과학 석사 학위를 받았으며, 1986년부터 파스칼, C, 펄, 자바와 최근에는 루비 프로그래밍 언어로 유닉스 계열 시스템을 프로그래밍해 왔다고 합니다.

원문 : PHP로 커스텀 검색 엔진 구현하기(한글)

Google과 이와 비슷한 종류의 검색 엔진들은 그 성능이 뛰어나지만, 이러한 검색 엔진들이 모든 사이트에 잘 맞는 것은 아닙니다. 여러분의 사이트 콘텐트가 매우 특수한 것이라면 Sphinx와 PHP로 로컬 검색 시스템을 만들어 봅시다.

인터넷 시대에, 사람들은 패스트푸드와 같은 형태의 정보를 원한다. 즉각적으로 제공되고, 노력을 들이지 않아도 되며, 적당한 크기(바이트 사이즈(byte-size))로 제공되는 음식을 원한다. 실제로, 인내심 없고 배고픈 대중들의 구미에 맞추려면, 웹 사이트는 바로 효과가 나타나는 포맷을 제공해야 한다.

  • RSS는 피자 배달부이다. 방금 구운 데이터를 여러분의 문 앞으로 배달한다.
  • 웹로그는 중국 요리 테이크아웃으로서, 여러분이 좋아하는 매콤한 요리를 배달한다.
  • 포럼은 이웃과 함께 즐기는 팟럭(potluck) 음식이다. (또는 "Animal House"[각주:2]의 음식 싸움 장면에 알맞다.)
  • 검색(search)은 가까운 카페테리아에서 먹을 수 있는 음식들에 비유할 수 있다. 여러분이 원하는 음식을 쟁반에 담아서, 자리를 차지하고 앉아서 먹으면 된다.

다행히도, PHP 개발자는 광범위한 RSS, 블로그, 포럼 소프트웨어를 찾아서 사이트를 생성하거나 수정할 수 있다. Google등 검색 엔진들의 성능이 우수하지만, 이러한 검색 엔진이 모든 사이트에 잘 맞는 것은 아니다.

예 를 들어, 웹 사이트가 수십만 개의 새롭게 단장된 Porsche 부품들을 제공한다면, Google은 "Carrera parts" 같은 광범위한 검색용 사이트를 띄울 것이다. 하지만 보다 구체적인 "used 1991 Porsche 911 Targa headlight bezel"에 대한 결과는 만들 수 없다.

여러분의 콘텐트가 고도로 특화되었거나 방문자가 여러분의 검색 기능에서 기대하는 것이 실제 작업 흐름과 밀접한 것이라면, 자신의 사이트에 맞게 재단된 로컬 검색 시스템으로 웹의 글로벌 검색 엔진을 확장하는 것이 최상의 방법이다. ("수 많은 건초 더미에서 바늘 찾기")

빠 르고, 성능 좋은 오픈 소스 무료 검색 엔진을 PHP 사이트에 추가하는 방법을 알아보자. 이 글에서는 일부분만을 개발할 것이다. 대신, 초점은 효과적인 검색 결과를 제공하는데 필요한 컴포넌트(데이터베이스, 인덱스, 검색 엔진, PHP 애플리케이션 프로그램 인터페이스(API))에 맞출 것이다.



  1. 오픈 소스 검색 엔진으로서 텍스트를 매우 빠르게 검색하도록 설계되었다. Sphinx는 무료라는 점과 PHP API를 제공한다는게 강점인것 같네요.
     홈페이지 : http://www.sphinxsearch.com [본문으로]
  2. 확인은 못했지만, 존 랜디스 감독의 Animal house라는 영화를 말하는것 같습니다. 존 랜디스 감독의 1978년작 Animal house는 대학가의 문제아들이 모인 델타라는 동호회 회원들의 이야기라고 합니다. 총장이 델타를 해체시키고 회원들을 퇴학시키려는 음모를 진행하는게 내용이라고 하는군요. [본문으로]