메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

구글 사용자 검색 엔진 만들기(1)

한빛미디어

|

2007-11-19

|

by HANBIT

23,910

제공 : 한빛 네트워크
저자 : Bernard Farrell
역자 : 김인희
원문 : Creating Google Custom Search Engines

왜 더 좋은 검색 엔진이 필요할까?

이른 저녁, 예전 학교 친구들이 90분쯤 후에 여러분의 집에 도착한다고 느닷없이 전화를 걸어왔다. 당장 집에 있는 재료들로 음식을 만들어야 하는데, 그 재료들(닭고기 몇 조각, 양파, 감자, 크림, 와인, 조미료)로 만들 수 있는 요리법을 어디서 쉽게 구할 수 있을까? 웹 브라우저를 열고 구글에서 이 음식 재료들로 요리법을 검색하면 거의 600,000 페이지의 결과가 나온다. 이건 그다지 큰 도움이 못 되는데, 그 많은 사이트 중에서 좋은 요리법을 골라내는데 한 시간이 걸릴지도 모르기 때문이다.

괜찮은 요리법 관련 사이트들을 검색할 수 있고, 그 중에서도 식탁을 차리는데 도움이 될만한 몇 가지 요리법을 골라내는 좋은 방법이 있다. 그건 바로 구글 사용자 검색 엔진(Google Custom Search Engine)이다.

사용자 검색 엔진은 무엇인가?

사용자 검색 엔진(CSE)을 사용하면, 구글이 검색어를 처리할 때 검색 결과에 어느 사이트를 넣어야 할지 또는 말아야 할지를 결정할 수 있도록 해준다. 이는 특정 주제의 범위에서 질문을 하면 그 지정된 범위에 한정된 답을 쉽게 얻을 수 있음을 뜻한다. CSE를 만들 때, 자신만의 전문 지식을 활용해서 구글이 특정 주제와 관련된 정보를 어디서 찾을 수 있는지 알려줄 수 있다. 이 과정에서 돈을 조금 벌 수도 있는데, 사용자 검색 엔진에서 검색을 하면 각 결과 페이지마다 애드센스(AdSense) 광고가 노출이 되기 때문이다. 애드센스 계정이 있다면, 광고에서 얻는 수익을 가져갈 수 있지만 너무 기대하지는 말자. 자신의 사용자 검색 엔진이 큰 성공을 거두지 못한다면, 애드센스로부터 받는 돈은 한 달에 겨우 몇 달러도 안될 것이다.

검색 리스트에 사이트를 추가하고 삭제함으로써 검색의 효율성을 높일 수 있다. 이런 방법으로,다른 사람들이 여러분의 검색 엔진을 사용할 때 향상된 결과를 손쉽게 얻게 할 수 있다.

예제로 버뮤다(Bermuda) 검색용 엔진을 보도록 하자. 이 검색 엔진의 편집자는 둘러볼 만한 80개의 사이트를 선정하여 자신이나 타인에게 도움이 될 버뮤다 관련 정보를 보여주도록 하였다. 필자가 만약 스쿠버 다이빙을 좋아해서 이 검색 사이트에서 “scuba tours”으로 검색을 했다면, 버뮤다에서 즐길 만한 스쿠버 여행 정보를 얻을 수 있을 것이다. 일반적인 구글 검색을 했다면, 2백만 이상의 페이지에서 버뮤다 관련 스쿠버 여행 정보를 찾느라 꽤 오랜 시간을 낭비했을 것이다.

사용 목적에 부합하도록 잘 설계된 CSE은 특정 분야에 대한 정보나 방문객의 취향에 맞는 결과를 보여준다. 검색 엔진 이름을 적절하게 설정하고 그에 따른 설명도 명확하게 해서, 자신의 검색 엔진을 방문하는 사람들이 (검색 결과에) 좌절하지 않고 사용할 수 있도록 하는 것이 중요하다. 이제 남은 것은 어느 사이트를 검색 결과에 넣을지 결정하는 일뿐이다. 추가로 검색 결과를 분류할 수도 있는데, 이는 선택 사항이며 CSE를 처음 접하는 사람은 그냥 넘어가도 좋다. 지금까지 과정으로 볼 때, 얼핏 할 일이 많아 보이지만 사실 몇 분만에 새로운 사용자 검색 엔진을 만들 수가 있다. 다음 장에서 이 과정을 살펴본 후에 CSE 인터페이스, 사이트 선정, 그리고 결과 페이지를 어떻게 조율할 수 있는지에 대해서도 설명을 하겠다.

10분 안에 새로운 검색 엔진 완성

요리법 검색 엔진을 만들어 보자. 이 검색 엔진을 만들면서, 자신만의 CSE를 만들기 위해 어떠한 정보가 필요한지 알려줄 계획이다. 시작하기에 앞서, 우선 구글 계정이 필요하다. 계정이 없다면 구글 계정 신청(Google create account) 페이지로 가서 계정을 받도록 하자.

사용자 검색 엔진을 만들 때 첫 번째로 할 일은 구글 CSE 홈페이지(Google CSE home page)를 방문하는 것이다. 여기서 설치 데이터를 입력하고 검색 엔진을 테스트 하는 두 가지 과정을 거쳐야 한다. 이 과정을 마치면, CSE를 사용할 준비가 된 셈이다. 구글의 CSE 서비스 조항(Terms of Service)에서 사용자 검색 엔진에 대한 제한 사항을 볼 수 있다.

시작하기에 앞서, 몇 가지 기본 정보가 필요하다. 이 중에 몇몇 부분을 어떻게 채워야 할지 몰라도 걱정하지는 말자. 검색 엔진을 만든 후에, 손쉽게 CSE 설정 값을 변경할 수 있다.
  • 이름: 사람들이 알기 쉽도록 검색 엔진의 용도에 알맞은 이름을 넣는다. 필자는 간단한 요리법 검색 엔진(Simple Recipes Search Engine)이라고 이름을 지었다. 이름에서 알 수 있듯이, 이 검색 엔진은 별미 음식을 다루는 요리사를 위한 것이 아니다. 구글의 서비스 조항을 보면, 검색 엔진 이름에 ‘Google’를 넣을 수 없다고 나와있으니 주의하길 바란다.

  • 설명: 검색 엔진의 용도가 무엇이고, 어떤 사람들을 대상으로 하는지에 대한 설명이 필요하다. 이해하기 쉽도록 짧고 간단하게 설명을 하자.

  • 엔진 키워드: 키워드는 방문객에게 검색의 용도를 알려주는 검색어 예제이다. 키워드를 사용하면 구글 엔진이 어느 페이지를 더 빨리 검색할지 결정할 수 있게 도와준다. 따옴표 안에 여러 단어로 이루어진 구를 넣을 수 있다. 필자의 키워드는 homecooking “easy to prepare”와 “simple cooking”이다.

  • 언어: 특정 언어를 선택하지 않으면 모든 언어가 선택된다. 필자는 영어를 선택했다.

  • 검색 대상: 검색 대상으로 자신이 선택한 사이트나 전체 웹을 선택할 수 있다. 또는 전체 웹을 대상으로 하되 자신이 선택한 사이트는 더 높은 우선 순위를 갖도록 설정할 수도 있다.

  • 검색 사이트 지정 – 처음에 알고 있는 사이트가 몇 개 없더라도 나중에 추가하거나 삭제할 수 있다.
검색 사이트 지정은 검색 엔진을 설정하는데 있어 가장 중요한 부분 중에 하나이다. 이 입력 폼에 URL을 어떻게 넣느냐에 따라 각 사이트가 결과에 어느 정도 포함될지 결정이 된다. http://homecooking. about.com/library/archive 사이트를 예로 들어보자.

CSE에 지정된 URL 포함하는 것 범위
*.about.com about.com 도메인 전체 about.com의 모든 페이지
homecooking.about.com/* about.com의 Homecooking 사이트 전체 많은 페이지
homecooking.about.com/library/archive/* about.com의 요리법 부분 요리법 페이지
homecooking.about.com/library/archive/blbindex.htm 지정된 페이지만 한 페이지

검색 엔진이 비상업적이거나 대학 혹은 정부 기관을 위한 것이 아니라면, 검색 결과에 광고를 포함시켜야만 한다. 물론, 서비스 조항에 동의해야 한다.

다음과 같이 첫 페이지를 완성하였다.


[그림 1] CSE 초기 페이지

이제 다음(Next) 버튼을 누르면, 테스트(Try it Out) 페이지로 넘어간다. 여기서 여러분의 엔진이 의도된 대로 결과를 도출하는지 테스트 할 수 있다. 검색 결과에 큰 기대감을 갖지는 말자. 다음에 다시 설정 페이지로 와서 검색 리스트 조율을 하면 된다. 필자는 pie crust로 검색을 해보았다. 검색 결과가 어떻게 나왔을까?


[그림 2] Pie crust 검색

보는 바와 같이, 검색 결과가 적절하고 모두 pie crust와 관련된 사이트임을 알 수 있다. 확인 메일을 받으려면 맨 밑의 박스를 체크하면 된다. 완료(Finish) 버튼을 누르면 현재 등록된 검색 엔진을 확인할 수 있다.

유의 사항: 확인 메일에는 검색 엔진 관리에 대한 많은 유용한 조언이나 정보가 담겨져 있다. 필요하다면 메일 요청을 하고, 박스 체크하는 것을 잊었거나 확인 메일을 지웠어도 구글에 로그인하고 내 검색 엔진(My Search Engines)로 가면 다시 확인 가능하다.

요리법 검색 엔진은 모든 자료와 함께 온라인에 올려놓았다. 이 검색 엔진이 어떻게 작동하고 구글에 무엇을 지정해 놓았는지 알고 싶은 독자는 http://recipeclues.com를 방문하기 바란다. 구글 홈페이지로는 여기에서 “Simple Recipes” 검색 엔진을 만나볼 수 있다.

자 이제 여러 가지 방법을 동원해서 검색 엔진을 커스터마이징(customizing)할 차례이다. 먼저 어떻게 하면 구글에 많은 사이트를 추가하고 삭제할 수 있는지 알아보도록 하자.

폼(Forms)에서 사이트 추가

다양한 방법으로 검색 엔진에 많은 사이트를 추가할 수 있다. 마음에 둔 사이트 목록이 있다면, My Search Engines로 가서 검색 엔진의 제어판(control panel) 링크를 클릭하자. 그런 후에, 사이트(Sites) 탭을 클릭하면 사이트를 추가하고 삭제할 수 있는 폼이 나온다. 여기서 생각해 둔 사이트와 기존에 등록한 사이트가 겹치는지 확인 가능하다.


[그림 3] 사이트 탭 (Sites tab)

몇 개의 사이트로만 운영을 할 때, 이 방법이 유용하기는 하다. 한가지 제한 사항은 한번에 20개의 사이트밖에 다루지 못한다는 점이다. 처음 시작할 때는 괜찮지만, 검색 엔진에 40개 이상의 사이트가 필요할 때 이 방법을 사용하면 꽤 지루한 작업이 될 것이다.

사이트 추가(Add Sites) 버튼을 클릭하면 팝업창이 뜨는데, 여기에다 사이트 정보를 입력하면 된다.


[그림 4] 개별 사이트 입력

이 입력 폼의 마지막 옵션으로 한 페이지 안에 있는 링크들의 주소를 가져와서 검색 엔진에 추가하는 방법이 있다. 여러분이 가리키고 있는 페이지가 블로그롤(blogroll)이거나 링크할 사이트들의 목록을 가지고 있다면 이 방법은 꽤 유용하다. 최근에 CSE 제어판에 이 기능이 추가되었으나 아직은 사용할 수 없다. (주: 현재는 사용 가능하다.)

다수 사이트(bulk site) 입력 폼을 사용해서 여러 요리법 관련 사이트들을 한꺼번에 검색 엔진에 추가할 수 있다.


[그림 5] 다수 사이트 입력 폼

이 입력 폼에서 와일드카드(wildcard) 문자를 사용한 것을 눈여겨보자. BBC 사이트의 모든 조리법은 http://www.bbc.co.uk/food/recipes/swiftsuppers_vegpasta.shtml처럼 같은 문자열(swiftsuppers)로 시작한다. 그래서 슬래시(slash) 마크로 구분하지 않고 URL의 첫 번째 부분 뒤에 *를 넣었다.

검색 엔진에 넣고 싶은 사이트를 발견할 때 마다 추가하고 싶다면, 브라우저에 구글 마커 북마크릿(Goolge Marker bookmarklet)을 설치하는 것도 괜찮은 방법이다. 이 프로그램을 설치하면 브라우저(IE나 파이어폭스)에 버튼이 생기며, 원하는 사이트를 방문하고 버튼만 클릭하면 손쉽게 해당 사이트를 검색 엔진에 넣을 수 있다. [그림 6]과 같은 간단한 대화창에 내용을 적고 저장(Save) 버튼을 클릭하면 검색 엔진에 해당 사이트를 추가할 수 있다.


[그림 6] 구글 마커(Goolge Marker)

처음 시작할 때는 입력 폼에 일일이 정보를 넣고 추가하는 방법이 효과적일 수 있지만, 관리해야 할 사이트의 양이 많아지고 각 사이트마다 다양한 속성값들을 넣어야 한다면 이 방식으로는 한계가 있다. 다음으로, XML을 사용해서 CSE에 사이트를 지정하는 방법에 대해 알아보자.
TAG :
댓글 입력
자료실

최근 본 상품0