아마존 웹 서비스를 다루는 기술 25장 - 5.3. CloudSearch 검색 도메인 엔드포인트 주소로 검색하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

검색 서비스를 제공하는 CloudSearch

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

CloudSearch 검색 도메인 엔드포인트 주소로 검색하기

이번에는 AWS 콘솔이 아닌 검색 도메인의 엔드포인트 주소로 검색을 해보겠습니다. 이때 HTTP 메서드를 손쉽게 사용할 수 있는 cURL을 사용하겠습니다. 보통 Linux 배포판이나 Mac OS X에는 cURL이 기본적으로 설치되어 있습니다. 설치되어 있지 않다면 다음 명령으로 설치할 수 있습니다.

Amazon Linux, CentOS
[pyrasis@centos ~]$ sudo yum install curl
Ubuntu Linux
pyrasis@ubuntu:~$ sudo apt-get install curl

Windows용은 http://curl.haxx.se/download.html에서 받을 수 있습니다.

다음 명령을 입력하여 검색 도메인에서 검색을 합니다(Windows에서는 curl.exe를 실행합니다).

  • -X GET: HTTP GET 메서드를 사용합니다.
  • search-<검색 도메인 이름>-<검색 도메인 ID>-ap-northeast-1.cloudsearch.amazonaws.com/2013-01-01/search: 검색용 엔드포인트 주소입니다. 여러분들이 생성한 검색 도메인의 엔드포인트 주소를 입력합니다. 맨 마지막에 /2013-01-01/search에서 2013-01-01은 엔드포인트 API의 버전입니다. 다른 날짜로 바꾸면 동작이 되지 않으니 주의하기 바랍니다.
  • ?q=010-1234-5678: 검색어입니다. 여기서는 핸드폰 번호가 010-1234-5678인 것을 검색했습니다. 검색 방법에 대한 자세한 내용은 아래 링크를 참조하기 바랍니다.
    http://docs.aws.amazon.com/cloudsearch/latest/developerguide/search-api.html
curl -X GET search-exampledomain2-7fq636cmiddehdtdfpa3d3s454.ap-northeast-1.cloudsearch.amazonaws.com/2013-01-01/search?q=010-1234-5678
{"status":{"rid":"scjNw+QoCwqYmgY=","time-ms":11},"hits":{"found":1,"start":0,"hit":[{"id":"1","fields":{"name":"홍길동","age":"27","rank":"대리","phone":"010-1234-5678","address":"서울시 종로구"}}]}}

터미널, 명령 프롬프트에서 UTF-8 한글 입력
Linux의 터미널, Windows의 명령 프롬프트에서 UTF-8로 인코딩된 한글을 입력하는 것은 상당히 까다롭습니다. 그래서 숫자로 된 핸드폰 번호로 검색했습니다. 실제로 검색용 엔드포인트 주소를 사용할 때는 프로그래밍 언어를 통해서 사용하게 됩니다.

한글을 검색할 때는 꼭 UTF-8로 인코딩해야 합니다. 특히 검색처럼 엔드포인트 URL에 GET 메서드를 이용할 경우 UTF-8에 URL 인코딩(URL Encode)을 해주어야 합니다.

HTTP GET 메서드는 우리가 인터넷을 할 때 흔히 사용하는 HTTP 메서드입니다. 따라서 웹 브라우저에서 엔드포인트 주소로 검색을 할 수 있습니다. 이 때는 한글을 그대로 사용할 수 있습니다.

그림 25-40 웹 브라우저에서 검색 도메인 엔드포인트로 검색


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.