brunch

You can make anything
by writing

C.S.Lewis

by 쪼렙 서비스기획자 Aug 31. 2021

검색의 원리 (Basic of Basic)

쪼렙 서비스 기획자의 검색 개념 한판 정리

솔직히 "짜장, 짬뽕 중에 뭐먹을래?" 물어봤을 때 고민하는 시간이 5분이라고 치면,

"짜장, 짬뽕, 계란볶음밥, 새우볶음밥, 짜짱밥, 짬뽕밥, 유산슬, 잡탕밥, 그외 기타 중국음식 500가지 중에 뭐먹을래?" 라고 물어봤을 때 고민하는 시간은 최소 10분은 넘을 것이다. (혹시 나만 그뤠???)


선택할 수 있는 옵션이 조금만 늘어나도 이렇게 고민시간이 오래 걸리는데,

우리는 어떻게 정보로 넘쳐나는 인터넷에서 내가 찾고자 하는 정보를 빠르게 찾을 수 있을까?



바로 검색 기능 덕분이다.

우리가 찾고자 하는 정보의 키워드를 검색창에 입력하기만 하면, 구글이나 네이버는 0.5초도 안걸려서 관련된 모든 정보를 보여주기 때문에 우리가 힘들게 여기저기 정보를 찾아 헤맬 필요가 없다.


그럼 여기서 궁금증이 하나 생긴다.

어떻게 네이버와 구글은 그 많은 정보 중에 사용자가 검색한 내용만 쏙쏙 골라내서 보여줄 수 있는 걸까?




옷장을 생각해보자. 상의, 하의, 외투, 양말, 속옷의 자리가 정해져있어서, 옷장 주인이 어떤 옷이 어디에 있는지 다 알고 있는 옷장에서 흰셔츠를 찾는 게 빠를까.

아니면 옷장 안의 모든 옷들이 하나의 뭉치로 다 엉켜있어, 옷을 찾을 때마다 모든 옷을 확인해야하는 곳에서 흰셔츠를 찾는 게 빠를까?


아마 옷을 입는 사람이라면 대부분 전자라고 생각할 것이다.



검색의 과정은 깔끔하게 정리정돈된 옷장에서 옷을 찾는 것과 비슷하다. 

어떤 옷이(정보) 어디에 위치해있는지 다 알고 있기 때문에, 사용자가 원하는 옷을(정보) 착착- 꺼내줄 수 있는 것이다.


그렇다면 이 옷장은 어떻게 태어나는지 조금 더 자세히 공부해보도록 하자.



검색엔진의 원리

검색엔진(Search Engine)이란 웹에 존재하는 많은 양의 정보 중에서 사용자가 원하는 정보만을 여러 웹사이트나 웹페이지 등에서 검색해주는 시스템이나 프로그램을 통틀어 이르는 용어이다.

검색엔진은 아래와 같은 순서로 작동한다.



1. 크롤링 (Crawling)

"흩어져있던 옷을 다 옷장으로 주워온다"


검색엔진의 첫단추는 바로 크롤링이다. 크롤링이라는 단어는 벌레가 기어다니는(crawl) 것처럼, 인터넷에서 정보를 수집해온다는 의미에서 유래한 단어이다.

웹을 돌아다니며 웹상의 수많은 정보들을 모두 긁어오는 과정을 의미한다. 이 긁어오는 프로그램을 bot(봇)이라고 부르기도 한다. 봇은 문서에 딸린 링크를 따라다니며 문서를 주워담고, 그 개수는 수억 건이 훨씬 넘는다.



2. 파싱 (Parsing)

"주워온 옷을 갠다"


많은 정보들을 불러온 다음에는 그 정보를 가공하는 과정이 필요하다. 파싱이란 수집한 문서에서 제목, 본문, 주제어 등 필요한 요소만을 추출하고 나머지 노이즈는 제거하는 단계로 볼 수 있다. 정보 가공 과정의 온갖 잡일을 다 포함하는 말이라고 한다.



3. 색인 (Indexing)

"옷을 각각의 위치에 구분해 정리한다"


우리가 파일에 번호를 붙여서 나중에 쉽게 찾을 수 있도록 구분하는 것처럼, 어떤 정보가 어떤 위치에 있는지 정리하고 구분하는 과정인덱싱이라고 한다. 이렇게 구분을 해야 나중에 사용자가 원하는 정보가 어디에 위치해있는지 알고, 빠르게 그 정보를 가져다줄 수 있다.



4. 검색 (Search)

"필요한 옷을 찾는다"


우리가 하루에도 몇번씩 하는 행동인 검색은, 검색어를 입력해서 검색결과를 얻어내는 과정을 의미한다.

검색엔진은, 사용자가 입력한 쿼리를 잘 분석해서 가장 적합할 것 같은 정보를 정리하여 보여준다.


그리고 이 과정은 각 서비스마다 다르다.

예를 들어 "교촌치킨"을 입력했을 때, 어떤 서비스에서는 "교촌치킨" 메뉴들만을 보여줄 수도 있다.

반면 다른 서비스에서는 "교촌""치킨"을 각각으로 구분하여 교촌치킨 메뉴들과 함께 다른 치킨 브랜드의 메뉴들을 함께 노출할 수도 있다.


검색결과를 노출할 때의 기준도 서비스마다 다르다. 어떤 서비스는 가장 클릭이 많이 된 정보를 제일 위에 보여줄 수도 있고, 어떤 서비스는 가장 최신의 정보를 상위에 노출할 수도 있다.

검색 서비스들은 이러한 과정을 더욱 더 정교화시켜, 사용자가 만족할 만한 검색 결과를 보여주기 위해 노력한다.




검색결과최적화(SEO)란?

위에서 검색 알고리즘은 서비스마다 다 다르다고 했는데, 서비스들은 이러한 알고리즘을 외부에 잘 공개하지 않는다. 자신의 사이트나 정보를 상단에 올리고자 하는 사람들이, 좋은 정보가 아니더라도 알고리즘의 기준만을 충족시켜 검색 결과의 상단에 올리고자 하기 때문이다.


영양가 없는 정보들이 상단에 올라, 사용자들에게 진짜로 도움이 될 정보가 아래에 위치하게 된다면, 사용자들은 당연히 서비스의 검색 결과에 만족하지 못할 것이고, 서비스를 이용하는 빈도가 서서히 줄어들 것이다. 이러한 악순환을 피하기 위해서 검색 서비스들은 정확한 알고리즘을 공개하는 걸 꺼린다.


그렇지만...내가 만약 정보 제공자라면 나의 정보를 검색 결과 상위에 높여 클릭수를 많이 받고 싶은 이 마음이 인지상정...



검색결과의 기준을 잘 충족시켜서 검색 결과의 상위에 노출되고자 하는 것을 바로 검색엔진최적화 (Search Engine Optimization)이라고 한다.


예를 들어, 하나의 블로그글에 모든 내용을 쓰는 게 아니라, 3개의 블로그 글로 나누어서 연재를 하는 것도 더 상위에 노출될 수 있는 방법 중 하나이다. 메타 태그를 쓴다든가, 링크를 여러 개 연결해놓는다든가 하는 방법으로 사람들은 여러 가지 수단을 활용한다.




이 글에서는 정말 검색엔진의 기초 of 기초만을 정리했지만, 사실 검색은 정말 정말 정교하고, 공부하고자 하면 끝이 없을 정도로 어렵고 복잡하다고 한다. 쪼렙 서비스기획자인 내가...그 내용까지 다 마스터할 수는 없겠지만, 그래도 이 정도의 기본적인 내용은 잘 정리해둬서 언젠가 도움이 되길 바란다.


끝까지 읽어주셔서 감사합니다 :-)




여기까지 이끌어준 선생님들, 감사합니다.


http://tcpschool.com/webbasic/searchengine

https://library.gabia.com/contents/domain/4359/

http://tcpschool.com/webbasic/searchengine


매거진의 이전글 기획자인 내가 아직까지 API가 헷갈렸던 이유 - 이론
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari