특정 필드가 없는 도큐먼트 조회 쿼리

목표 특정 필드가 없는 도큐먼트 조회 쿼리 작성법을 이해한다. exists exists 쿼리를 통해서 필드를 존재하는 도큐먼트를 필터링할 수 있다. GET /_search { "query": { "exists": { "field": "user" } } } 아래 예시와 같이 must_not을 통해 필드가 없는 도큐먼트도 조회가 가능하다. GET /_search { "query": { "bool": { "must_not": { "exists": { "field": "your_field" } } } } } 참고 자료 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html https://stackoverflow.com/questions/29357148/how-to-filter-out-fields-that-do-not-exist-in-elastic-search

2024-09-15 · 1 min · 63 words

최대 샤드 개수

배경 테스트 코드 실행 중에 ES에서 최대 샤드 개수를 초과해서 인덱스를 만들 수 없다는 오류가 발생했다. cluster.max_shards_per_node ES 클러스터 설정 값 중에 한 노드 당 만들 수 있는 최대 샤드 수가 있다. 클러스터 내에 있을 수 있는 (프라이머리 샤드 수) + (레플리카 샤드 수)의 최대는 cluster.max_shards_per_node * number of non-frozen data nodes 참고 자료 https://www.elastic.co/guide/en/elasticsearch/reference/current/misc-cluster-settings.html

2024-09-15 · 1 min · 55 words

properties vs fields

목표 인덱스 mapping 정보에서 properties와 fields의 차이점을 이해한다. properties 서브 필드를 가지고 있는 object와 nsteds 타입 매핑에서 사용된다. 새로운 속성을 추가하기 위해서 사용한다. fields 같은 필드를 다른 목적으로 사용한다는 의미다. 예를 들어, string 타입의 필드를 full-text search를 위한 text 필드와 정렬 을위한 keyword로 매핑할 때 사용할 수 있다. 참고 자료 https://www.elastic.co/guide/en/elasticsearch/reference/current/properties.html https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html

2024-09-15 · 1 min · 52 words

keyword의 최대 길이

배경 fields 매핑을 이용해 특정 text를 keyword로도 사용할 수 있도록 설정해둠 그러나 keyword 필드에 값이 존재하지 않음 원인 keyword 타입 매핑시에 처리 가능한 최대 길이를 설정할 수 있다. "ignore_above" : <자연수> 옵션이며, 다이나믹 매핑으로 keyword가 생성될 때는 기본값인 256으로 설정된다. 참고 자료 https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.1#keyword https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-above.html

2024-09-15 · 1 min · 44 words

Elasticsearch 시작하기

Elasticsearch 내부 동작을 이해한다. Elasticsearch에 새로운 컬럼?을 추가해본다. 구조 데이터 색인 색인(indexing): 데이터가 검색될 수 있는 구조로 변경하기 위해 원본 문서를 검색어 토큰들로 변환하여 저장하는 과정 인덱스(index): 색인을 거친 결과물, 또는 색인된 데이터가 저장되는 저장소. Elasticsearch에서 도큐먼트들의 논리적인 집합을 표현하는 단위이기도 하다. 검색(search): 인덱스에 들어있는 검색어 토큰들을 포함하고 있는 문서를 찾아과는 과정 질의(query): 사용자가 원하는 문서를 찾거나 집계 결과를 출력하기 위해 검색 시 입력하는 검색어 또는 검색 조건 Elasticsearch 환경 설정 config/jvm....

2024-09-15 · 6 min · 1166 words