검색엔진이란?
검색엔진의 특징
어렵다
- 알아야 할 것이 많음
- 굉장히 전문적인 분야
- 빅데이터, 유전자 정보 분석 ~~~ 많은 곳에서 사용
하지만 유용하다! 많은 곳에서 사용한다!
- 구글, 네이버,...
- 문서검색
최근의 트렌드이다
- 사이트 내 검색은 중요한 문제이다 (네이버, 구글에서 어떻게 노출을 시킬까?)
- 검색엔진에 친화적인 것들로 만들 수 있나..?
- --> 검색엔진을 사이트내에 통합시키자! 란 의미인가보다!!
엘라스틱 서치가 두각을 나타내는 이유
- 비교적 쉬우면서 강력하고, (원래 검색엔진은 까는것도 어렵다! )
- 무료이다(RDBMS에서 고급/비용 발생하는 고급기능 기본 제공)
엘라스틱 서치를 사용하려면?
웹기술에 대한 이해가 필요함
- 웹기술과 직접적으로 관계/연결됨
GET/POST, Restful, 상태코드(Status Code), URL
웹기술 = 내용 + 전송
- 내용 = HTML + 자바스크립트 (페이지에 나오는 내용)
- 전송 = HTTP (전송 프로토콜)
데이터베이스 기술 이해가 필요함
- 테이블(Table),스키마(Schema),인덱스(Index),조인(Join),키(Key)
- 샤딩, 복제
- 고가용성,확장성
- → DB당, 매칭되는 개념들이 대부분 나온다.
네트워크 지식도 필요함
- (다른 DB나 웹은 네트워크지식을 많이 안쓰는데, 검색엔진은 필요함)
유니캐스트/멀티캐스트, 라우팅 (--> 어떤 샤드를 찾아갈꺼야! 라우팅해서 찾는다)
⇒ 기반 지식이 방대하다! 그런데, 알아야 할건 많은데 사용하긴 쉽다~!