본 포스팅에는 형태소 분석기등을 이용하여 검색을 하는 고급적인 부분들을 제외한 검색방법을 다뤄보는 포스팅이다. 이전 포스팅에서 주식에 관련된 정보를 stock이라는 인덱스에 넣어보긴 했었으나, 삼성전자에 대한 레코드만 넣었기 때문에 포스팅의 편의를 위하여 최근에 말도 많고 탈도 많은 방탄소년단의 빅히트와 블랙핑크의 와이지엔터테인먼트(YG) 주식 정보를 포함하여 총 3건의 레코드를 stock 인덱스에 추가한 후 검색을 하는 형태를 진행하고자 한다. 포스팅에 사용된 레코드 정보 PUT /stock/_doc/1 { "stockId" : "1", "stockNm" : "삼성전자", "stockType" : "보통주", "stockCd" : "005930", "trade" : "KOSPI", "current" :..
만약에 개발자들에게 "간단한 검색엔진(Search Engine)을 만들어보세요"라는 요청을 하면, 대부분은 "제가요?" "못합니다" 등으로 단호히 거절을 할 것이다. 검색엔진이라는 것은 구글이나 네이버, 다음같은 대기업만이 만들 수 있는 것이라고 생각하기 때문이다. 하지만, "간단한 검색엔진"이라는 요건은 개발자라면 누구나 쉽게 만들 수 있다. 물론 루씬(Lucene)이나 엘라스틱서치(Elastic Search), 솔라(Solar)같은 훌륭한 검색엔진들이 이미 즐비하니 굳이 만들 필요는 없지만 어디까지나 이 포스팅은 검색엔진의 원리를 설명하는 것을 목적으로 하니 위와 같은 솔루션들이 없다는 가정으로 생각을 해보자. 우리가 검색을 할 때 무엇을 넣을 것인가? 당연히 키워드(Keyword)를 넣는다. 네이버..
엘라스틱서치(Elasticsearch)는 루씬(Lucene) 기반으로 되어 있지만, 루씬과 다른점은 루씬은 라이브러리라고 한다면 엘라스틱서치는 검색엔진이다. 그러다보니 개발자 입장에서는 루씬이 편할 수도 있고, 개발을 잘 모르는 사람 입장에서는 엘라스틱 서치가 편할 수 있는 구분점이 존재한다. 그러나 확실히 하나 말할 수 있는 것은 어느정도의 부하가 존재하며, 서버의 튜닝이나 자바등을 잘 알지 못하는 경우라면, 루씬보다 엘라스틱 서치를 쓰는 것이 훨씬 좋을 것이다. 참고로 엘라스틱서치는 설치 및 정상적으로 구동하고 있는지 확인하는 방법이 매우 간단하다. 1. 다운로드 받기 일단, 본인의 OS에 따라서 설치하는 파일이 달라질 수 있다. 블로그를 윈도우 환경에서 작성하고 있기 때문에 설치부터 활용방안까지 모..
1. 국내의 검색엔진 검색엔진 전문가로서, 많은 분들이 검색엔진하면 어렵다는 편견을 갖는 분들이 많다. DB는 스페셜하게 잘 다루지만, 검색엔진은 왠지 전문가만 다뤄야 할 것만 같아서 검색엔진을 사용하면 훨씬 효율성이 높은 부분 마저도 DB에서 Like 쿼리를 사용하는 사이트가 허다하다. 그렇다고, 국내의 검색엔진 업체 제품을 쓰면 왠지 손해보는 느낌이 강한데... 왠만한 검색엔진 값이 차 한대값과 맞먹고, 라이센스에 따라서 아반테가격에서 벤츠가격까지 올라가는 경우가 존재한다. 국내의 검색엔진 업체는 와이즈넛, 코난테크놀로지, 솔트룩스의 3파전 양상이다. 이중 와이즈넛이 가장 유명하지만, 그렇다고 기술력이 가장 뛰어난 업체는 아니다. 와이즈넛과 코난테크놀로지는 검색엔진 순수 기술로만 하면 BMT 스코어가..