300x250
반응형

DB 48

[엘라스틱서치 알아보기 #4] 엘라스틱서치 주요 API 알아보기

엘라스틱서치 알아보기 프로젝트는 엘라스틱서치 실무가이드의 목차와 내용을 참조하였습니다. 이 포스트를 읽는 분들이라면 엘라스틱서치 실무가이드 책을 한권 반드시 구매하는 것을 권장합니다. 엘라스틱서치 주요 API 알아보기 구체적으로 어떠한 API가 있는지 알아보기 전에 먼저 어떤 종류의 API가 있는지부터 알아보겠습니다. 분류해보자면 대표적으로 아래 4가지 API가 존재합니다. 인덱스 관리 API(Indices API) 문서 관리 API(Document API) 문서의 추가/삭제/수정 등을 담당 검색 API(Search API) 집계 API(Aggregation API) 통계 등을 제공 모든 API는 HTTP 통신을 이용하여 RESTful하게 사용가능합니다. 인덱스 관리 API 인덱스 생성 인덱스를 생성할 ..

DB/ElasticSearch 2023.02.06

[엘라스틱서치 알아보기 #3] 엘라스틱서치 용어 및 개념 간단히 살펴보기

엘라스틱서치 알아보기 프로젝트는 엘라스틱서치 실무가이드의 목차와 내용을 참조하였습니다. 이 포스트를 읽는 분들이라면 엘라스틱서치 실무가이드 책을 한권 반드시 구매하는 것을 권장합니다. 엘라스틱서치 용어 및 개념 간단히 살펴보기 IT 관련 지식을 공부할 때, 초기에 가장 중요하게 잡고 가야 하는 것이 용어(Term) 라고 생각합니다. 용어의 정의가 제대로 정립되지 않은 채, 무작정 책을 읽기만 하면 모든 것들이 혼란스러워지기 마련입니다. 엘라스틱서치에서 어떠한 용어들이 사용되고 그것들이 의미하는 것이 무엇인지 제대로 파악해봅시다. 용어의 정의를 파악하면 전체적인 아키텍쳐의 파악에도 물론 도움이 됩니다. 엘라스틱서치에서 사용되는 주요 용어 인덱스(Index) 엘라스틱서치의 '인덱스(Index)' 는 관계형 ..

DB/ElasticSearch 2023.02.06

[엘라스틱서치 알아보기 #2] DB만 있으면 되는데, 왜 굳이 검색엔진?

엘라스틱서치 알아보기 프로젝트는 엘라스틱서치 실무가이드의 목차와 내용을 참조하였습니다. 이 포스트를 읽는 분들이라면 엘라스틱서치 실무가이드 책을 한권 반드시 구매하는 것을 권장합니다. DB만 있으면 되는데, 왜 굳이 검색엔진? 어느정도 개발을 해본 사람이라면 MySQL이 무엇인지 알고 써 본 경험도 있을 것입니다. MySQL은 소위 말하는 관계형 데이터베이스(RDBMS)입니다. 관계형 데이터베이스는 훌륭한 데이터 저장소(Storage)일 뿐만 아니라 조건에 맞는 데이터에 대한 검색 기능도 훌륭하게 제공합니다. 관계형 데이터베이스에서 조건에 맞는 데이터를 검색할 때 우리는 주로 SQL을 이용합니다. SQL의 경우 정확히 일치하는 데이터를 검색하고 싶다면 where = '...'를 이용할 수 있고 해당하는 ..

DB/ElasticSearch 2023.02.06

[엘라스틱서치 알아보기 #1] 엘라스틱서치는 검색엔진이다

엘라스틱서치 알아보기 프로젝트는 엘라스틱서치 실무가이드의 목차와 내용을 참조하였습니다. 이 포스트를 읽는 분들이라면 엘라스틱서치 실무가이드 책을 한권 반드시 구매하는 것을 권장합니다. 엘라스틱서치는 검색엔진이다. 일반적으로 검색 엔진(search engine)이라 하면 마냥 검색 결과를 제공하는 프로그램을 떠올립니다. 그래서 사람들은 검색엔진이라 하면 네이버나 구글같은 것을 떠올리기 쉽습니다. 물론 그러한 서비스도 일반적으로 검색 엔진이라 말하지만, 엄밀히 말하자면 그건 검색 서비스로서의 검색 엔진에 가까운 것입니다. 엘라스틱서치는 반면에 프로그램으로서의 검색엔진을 말합니다. 검색 서비스로서의 검색 엔진이란? - 검색엔진을 기반으로 구축한 검색 시스템을 활용해 검색 결과를 서비스로 제공하는 것 프로그램으..

DB/ElasticSearch 2023.02.06

[Sphinx] Sphinx 검색엔진 3부 - 검색 및 설정

검색을 해 봅시다. 이제 모든게 갖추어 졌으니, 검색을 해 보도록 하겠습니다. 아래처럼 sphinx 에 접속합니다. [und3r@sungwook ~]$ mysql -h0 -P9306 현재 words_kr 테이블에는 abc 가 존재합니다. 검색해 보도록 하겠습니다. mysql> select * from words_kr where match('internet'); +------+----------+ | id | word | +------+----------+ | 59 | internet | +------+----------+ 1 row in set (0.00 sec) 보시는것 처럼 where match() 형태로 검색을 합니다. 지금의 경우 대상 column 이 word 하나 밖에 없어서 예로 적절치는 않습..

DB/Sphinx 2023.02.06

[Sphinx] Sphinx 검색엔진 2부 - 설정 및 사용

설정 이전 글에서 Sphinx 설치와 설정 방법에 대해서 알아보았습니다. 이번에는 어떻게 사용할 수 있는지에 대해서 알아보도록 하겠습니다. 현재 제 Database 의 설정은 다음과 같습니다. 이전에 포스팅 할 당시와 좀 다르다는 점 먼저 말씀드립니다. (서버가 변경되었습니다 ㅎ) Database Table 의 구조 mysql> desc words_kr; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(1..

DB/Sphinx 2023.02.06

[Sphinx] Sphinx 검색엔진 1부 - 설치 및 설정

소개 Database 기반의 사이트를 설계하다보면, 키워드 검색 기능이 필요할 때가 있습니다. 사실 대부분 사이트가 이런 검색기능이 있습니다. 일반적으로 SQL 에서 검색이라고 하면 LIKE 를 많이 떠올립니다. 데이터의 양이 많치 않을 경우에는 LIKE 로 충분합니다만, 수백만건 이상 되는 데이터에 대해서 검색하려면, LIKE 에는 많은 무리가 있습니다. 기본적으로 FullTable Scan 을 하게 될테니까요. 이런 검색을 위해서 Database 마다 Full Text Search 를 고유한 방식으로 지원하고 있습니다. MySQL 에서도 FullText Search 를 지원하지요. 하지만 아무래도 서버의 로드가 올라가거나 하는 문제들이 발생합니다. 이를 해결하기 위해서 대부분 Sphinx 라는 이 녀..

DB/Sphinx 2023.02.06

[Sphinx] Sphinx 검색엔진 라이브러리

Sphinx 검색엔진 라이브러리 검색엔진이란 :: -인터넷에서 원하는 정보를 찾아 주는 프로그램. 키 워드를 입력하면 그 정보가 있는 데이터를 찾아서 제시해 줌. -Sphinx는 검색엔진 중 한 종류이다. Sphinx 사용 이유 :: -MySQL이 like 문으로 힘들게 데이터를 검색하는 반면, Sphinx를 사용하면 빠르고, 정확한 결과값을 내주기 때문에 사용. Sphinx 작동 방법 :: 사전에 스핑크스가 내가 조회하려는 테이블의 값을 압축하고 압축한 인덱싱 파일로 만들어서 기록해놓고, 사용자가 그 압축된 인덱싱을 조회하여 빠르게 데이터를 끄집어 써낼 수 있게 한다. 즉, 검색엔진은 대용량의 데이터를 미리 인덱싱화 한 후에 저장해두는 것이다. 스핑크스 오픈소스 라이브러리 공식 사이트 :: http:/..

DB/Sphinx 2023.02.06
300x250
반응형