[공부] 독서(53)
-
Elasticsearch 활용 (Analyzer, Aggregation)
엘라스틱서치 : 2014 기준 자동완성 - 전방일치 : 엘라 -> 엘라스틱 - 부분일치 : naver -> www.naver.com - 후방일치 : 청바지 -> 남자청바지 자동완성을 구현하는 방법론 1. Prefix 쿼리 2. Suggester 3. ngram Analyzer 4. edge ngram Analyzer Analyzer 용도에 맞는 Tokenizer를 사용한다. Tokenizer 일반 텍스트를 인덱스하기위한 의 작은 요소로 분할하는 방식 Tokenizer 종류 : https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html Filter Tokenizer에 들어가기전에 일반 텍스트를 가공하는 방식..
2019.04.13 -
Elastic search 실전 기본 (쿼리 추가 기능)
프로젝션쿼리를 통해 문서에서 가져올 필드 지정모든 쿼리에 적용 가능. SQL의 프로젝션과 같음{"query" : {"match_all" : {}},"fields" : ["myName", "myJob"]} 페이징검색엔진 특성상 페이지 네비게이션에 특화되어 있지 않아서 잘못하면 검색 성능 저하와 연결됨 {"query" : {"match_all" : {}},"from" : 0,"size" : 10} 필터링필터링 결과 내의 재검색, 이미 검색된 문서들에 대해서는 score 계싼을 하지 않으므로 성능 향상을 도모할 수 있다.가능하면 필터링은 score 연산이 필요하지 않은 쿼리를 사용하는 것이 좋다.{"query" : {"match_all" : {}},"filter" : {"bool" : {"must" : [ {..
2019.03.24 -
Elastic search 실전 기본 (검색 응답, 검색 방법)
검색 응답 포맷{"took" : 63,"timed_out" : false,"_shards" : {"total" : 5,"successful" : 5,"failed" : 0},"hits" : {"total" : 2,"max_score" : null,"hits" : [ {"_index" : "bank","_type" : "account","_id" : "0","sort": [0],"_score" : null,"_source" : {"account_number":0,"balance":16623}}, {"_index" : "bank","_type" : "account","_id" : "1","sort": [1],"_score" : null,"_source" : {"account_number":1,"balance..
2019.03.24 -
Elastic search 실전 기본 (인덱스 스키마 설정)
localhost:9200/INDEX/_settings 로 인덱스 정보 바꾸기{"settings" : {"number_of_shards" : 5,"number_of_replicas" : 1,"index" : {"refresh_interval" : "1s"},"analysis" : {# 인덱싱 언어 추출 (Term)# 역 인덱스 파일 생성# 하나의 tokenizer와 여러개 filter 로 구성# 길어서 생략# 책 53p 참조},"store" : {"type" : "mmapfs""compress" : {"stored" : true, "tv" : true}# Store type # 윈도우 64bit : mmapfs# 윈도우 32bit : simplefs# 나머지 : niofs# Stored field, Te..
2019.03.24 -
서평
책을 읽고 평가할 입장은 안되지만 책 구매를 고민하시는 분들을 위해 몇 자 적습니다. 클린 코드 개발자 필독서라는 말이 괜히 나온 말이 아니다 라는 느낌. 왜 코드를 깨끗하게 짜야하는지, 왜 이렇게 짜면 코드가 가독성이 높은지를 논리적으로 설명하고 있다. 책에 나온 말 그대로 '어떻게하면 가독성이 좋은 코드를 짤 수 있을까?'를 한번이라도 고민해본 사람에게 좋은 책. 객체 지향의 사실과 오해 책의 난이도가 쉽고 했던 얘기를 또하고 또하고 또하기 때문에 읽는데 부담이 없다. 이제 프로그래밍 문법 배우는 것을 마치고 스파게티 코드를 경험해 본 사람에게 적합한 것 같다. 높은 명성과는 다르게 건질만한게 크게 없었던 듯. 당연한 말들의 반복이다. 클래스 지향 프로그래밍이 아니라 객체 지향 프로그래밍이다. 라는 ..
2019.03.24 -
Elastic search 실전 기본 (용어, 설정, API)
Elastic search 용어Cluster : 서버들을 묶어서 분산 고유할 수 있도록 서비스로 만드는 것curl 'localhost:9200/_cat/nodes?v'curl 'localhost:9200/_cat/indices?v'Node: 서버Index : DB와 유사Type : Table과 유사. 하지만 인덱스당 하나의 타입만을 가지도록 deprecated 될 예정 모든 type은 "_doc"으로 통일될 듯Document : 실제 데이터 ShardPrimary Shard : 데이터를 인덱스에 저장할 때 몇개로 나눠서 분산 저장 할 것인가. 기본값 5Replica Shard : 분산 저장한 데이터를 몇개 복제해서 안전성을 높일 것인가. 검색 처리량도 증가시킬 수 있다. 기본값 1ex. Primary S..
2019.03.24