728x90 반응형 SMALL IT/Elasticsearch10 Elasticsearch / Opensearch 에서 Like 검색하기 Opensearch 에서 SQL 의 LIKE 검색과 유사한 기능을 구현하려면 몇가지 접근 방식을 사용할 수 있다. Opensearch 의 text 와 keyword 필드를 이용해 문자열 부분 검색을 수행 하는 방법과 관련된 설정, 그리고 실제 문제 해결 과정을 정리해 본다. 기본 개념 이해하기OpenSearch에서 LIKE 검색을 구현하려면, 텍스트 필드의 매핑 설정과 쿼리 유형을 이해하는 것이 중요하다. 일반적으로 텍스트 필드의 매핑은 두 가지로 나뉜다:text 타입: 텍스트를 단어 단위로 토큰화하여 저장한다. 검색할 때는 match나 match_phrase 쿼리와 같이 단어 단위로 검색이 이루어진다.keyword 타입: 텍스트를 토큰화하지 않고 그대로 저장한다. 일반적으로 exact match.. 2024. 10. 22. Result window is too large... index.max_result_window paging 처리 해서 데이터를 가져올 때 Result window is too large, from + size must be less than or equal to: [10000] but was [10020]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level paramete 이런 오류가 발생한다. elasticsearch 에서 index 는 기본적으로 검색 시 데이터 최대 갯수 제한을 10,000 개로 설정하고 있다. 이런 경우 검색조건을 조정해서 검색 결과가 10,000개를 넘지 않게 .. 2022. 8. 23. Limit of total fields [1000] in index has been exceeded 특정 document 를 저장하는데 아래와 같은 오류가 발생한다. Limit of total fields [1000] in index has been exceeded 말 그대로 하나의 index 에 1,000 개 이상의 fields 를 저장할 수 없다는 말인데 이상하다... field 를 이렇게 많이 사용하고 있지 않은데 왜 이런 오류가 발생하지? 저장하는 데이터 중 paramList 라는 데이터를 Map 형태로 저장하고 있고 해당 field 에 대한 mapping 정보를 임의로 지정하지 않았더니 value 에 해당하는 map - (key: parameter key, val: parameter value) 에 포함된 각각의 key 가 field 로 mapping 되어 parameter 가 늘어날 수록 (.. 2022. 8. 23. Elasticsearch Mappings - Nested type Elasticsearch는 기본적으로 동적매핑을 지원하기 때문에 index 에 doc를 추가하면 자동으로 매핑이 생성된다. 하지만 보다 더 디테일하게 작업하기 위해서는 미리 매핑 정보를 설정해 두는 것이 좋다. 개발/테스트를 하다보면 mapping 정보를 추가/수정/삭제 해 보면서 문제를 해결하는 경우가 많다. mapping 정보는 한번 추가하면 수정이 불가능하기 때문에 (다른 index를 만들고 기존 index data를 다시 insert 하고 index name 을 변경하는 방법으로는 가능) 초기 설계가 중요하다. mapping 확인 GET {index_name}/_mapping mapping 정의 PUT {index_name} { "mappings": { "properties": { "logTime.. 2022. 6. 23. 이전 1 2 3 다음 728x90 반응형 LIST