[정리] 데이터베이스(33)
-
Analyzer와 Tokenizer
Analyzer 가 필요한 이유 Elastic search는 Default Analyzer 가 Edge-nGram Analyzer다. fox 라는 데이터를 저장하면 f, fo, fox 으로 analyze하고 데이터를 인덱싱하여 저장한다. 그런데 사용자가 fox를 찾고싶은데 앞에 철자가 기억안났다고 치자. localhost:9200/animal/_search { "query" : { "term":{ "species":"ox" } } } 라고 검색했는데 소(ox) 만 검색되고 여우(fox)가 검색이 안된다. 이렇게만 되면 이게 무슨 검색엔진인가. fox 라고 데이터가 저장되면 f, o, x, fo, ox, fox 이렇게 분석하고 인덱싱하는 Analyzer를 적용하길 원한다. 즉 nGram 방식의 분석기가 필..
2019.04.07 -
Properties에서 Index 필드의 설정값, Search 짧은 지식
Index : true (text) Index : analyzed 분석해서 인덱싱하여 저장 Index : false (keyword) Index : not_analyzed 분석하지 않고 데이터를 그대로 인덱스에 저장 Index : no 분석하지 않고 인덱스에도 저장하지 않음. 이 필드는 검색할 수 없다. 문서를 찾았을 때 출력용으로만 사용 가능하다. search filter : Score 계산 후 sorting x 스코어 반환 x query : Score 계산 후 sorting o 스코어 반환 o Term 쿼리 : 검색 요청을 받은 검색어를 analyze 안한고 그대로 쿼리한다. Match 쿼리 : 검색 요청을 받은 검색어를 analyze 하고 이것들을 term 쿼리한다.
2019.04.06 -
엘라스틱 서치 String이 사라진 이유
관련 포스팅 https://www.elastic.co/blog/strings-are-dead-long-live-strings Elasticsearch replaces string type with two new types text and keyword. On using text types for full text search and keyword type for keyword search in Elasticsearch 5.0. www.elastic.co 일반적으로 Elastic search에서 String 을 검색하는 방법은 크게 2개이다. 1. full-text-search : new york을 검색할 때 new, york 과 같이 개별적인 토큰을 이용해서 검색하는 방법 2. keyword-search..
2019.04.02 -
카프카 설치, 간단한 실행
mac에서 카프카 설치하기1. brew install kafka2. brew install zookeeper mac에서 카프카 실행1. zkServer start2. brew services start kafka 설정 변경 : 1. cd /usr/local/etc/kafka2. open server.properties# 변경 : advertised.listeners=PLAINTEXT://localhost:9092 실행토픽 생성 : kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test토픽 Produce : kafka-console-producer --broker-list localh..
2019.03.25 -
카프카 인트로
강의 출처 : https://www.youtube.com/watch?v=PtILI6v0ngY데이터간의 관계가 포커스가 아닌 실시간 데이터에대한 사업적인 니즈가 생김=> 카프카를 사용하자 카프카 개념- Message broker- publish - consume 구조- 스트리밍 플랫폼- 분산 시스템- 안정적인 스토어- 많은 처리량 카프카의 특징1. producer 와 consumer 는 의존도가 없다.2. broker 에게 topic을 받아서 디스크에 적는다. => 굉장히 안정적이다.disk를 쓰는데 빠른 이유 : page cache 를 이용해서 데이터를 모았다가 IO 하기 때문에3. 변경 불가능한 이벤트 로그를 스트림하여 수집 옛날의 데이터 스트림 처리 카프카의 데이터 스트림 처리 Log or Data ..
2019.03.25 -
[2019.03.24] 엘라스틱 서치 스프링 연동 방법 정리
엘라스틱 서치를 스프링과 연동하는 방법1. 스프링에서 지원하는 Spring-data-elasticsearch 모듈을 다운받아 elasticsearchRepository 인터페이스를 이용하는 법2. 스프링에서 지원하는 Spring-data-elasticsearch 모듈을 다운받아 elasticsearchTemplate 객체를 이용하는 법3. ES에서 지원하는 Low level REST Client 모듈을 다운받아 RestClient 클래스를 사용하는 법4. ES에서 지원하는 High level REST Client 모듈을 다운받아 HighLevelRestClient 클래스를 사용하는 법 사용해보면서 느낀 장단점1. ElasticsearchRepository+ 스프링에서 지원해주는 방식으로 JPA와 사용법이..
2019.03.24