[정리] 데이터베이스/[NoSQL] ElasticSearch(12)
-
ES Search query depth 정리 2019.08.03
-
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 -
[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 -
[2019.03.14] 엘라스틱 서치 (클러스터 설정 방법, 플러그인)
강의 출처 : https://www.youtube.com/watch?v=0ri2Ze4oFbk&list=PL7GFP9ynPAiQUPzheLp_f-NgAN1XUsus4&index=2컴퓨터 한대를 클러스터로 사용하고 3개의 노드를 띄우는 예제원래는 서버 한대당 노드 한개를 사용한다. 클러스터 예제1. 컴퓨터 한대에 Elastic search 파일을 다운 받고 3개로 복사한다. 2. 복사된 Elastic search 파일들을 각각 node 라고 생각하면된다. 그러므로 폴더 이름을 node1, node2, node3 이라고 바꾸자 3. 각 노드에 들어가서 설정을 바꿔주자.node1/config/elasticsearch.yamlcluster.name: myclusternode.name: node1node.maste..
2019.03.14