본문 바로가기

Search3

Elasticsearch 버킷 제한 too_many_buckets_exception 문제 해결 Elasticsearch 검색 쿼리가 실행될 때 너무 많은 버킷을 생성하려고 시도하면 제한을 초과했다는 오류 메세지가 발생합니다. 여기서 "버킷"은 특정 필드의 값이나 범위에 따라 문서를 그룹화하는 데 사용되는 데이터 구조를 말합니다. 이 문제를 해결하는 방법은 몇 가지가 있습니다.쿼리 최적화: 너무 많은 버킷을 생성하지 않도록 쿼리를 조정합니다. 예를 들어, 집계(aggregations)의 범위를 줄이거나, 필요하지 않은 집계를 제거합니다.search.max_buckets 설정 변경: Elasticsearch 클러스터 설정에서 search.max_buckets 값을 늘려서 허용되는 최대 버킷 수를 증가시킬 수 있습니다. 하지만 이 방법은 메모리 사용량이 증가할 수 있으므로 주의해서 사용해야 합니다.PU.. 2024. 7. 7.
Regex (정규표현식) vs Text Replace (문자열 치환) 개념과 구문 (?P.*?)와 replace(".*", "\1") 방식의 치환은 텍스트 처리와 정규 표현식(regex)에 있어서 주로 사용되는 두 가지 다른 접근 방식입니다. 이 두 방식을 이해하기 위해서는 먼저 정규 표현식의 기본적인 개념과 구문에 대한 이해가 필요합니다.(?P.*?) 설명구문: (?Ppattern)용도: 이 구문은 정규 표현식에서 그룹화(grouping)와 함께 이름을 부여하는 데 사용됩니다. 여기서 name은 그룹에 부여할 이름이고, pattern은 해당 그룹이 매칭할 패턴입니다.활용: Python의 re 모듈 같은 정규 표현식을 지원하는 언어나 라이브러리에서 사용됩니다. 이름이 부여된 그룹은 매칭된 텍스트를 더 쉽게 참조하고 사용할 수 있게 해 줍니다. 예를 들어, 로그 파일에서 특정 로그 유형.. 2024. 5. 3.
벡터(Vector) DB 로컬환경 Docker 구성하고 데이터 추가 및 쿼리 벡터 DB를 로컬 환경에서 Docker를 사용하여 설정하고 데이터를 쿼리하는 과정을 단계별로 설명하겠습니다. 단계 1: Chroma DB GitHub 저장소 복제 Chroma DB를 로컬 머신으로 가져오기 위해 GitHub 저장소를 복제합니다. 이 저장소는 Chroma DB의 소스 코드를 포함하고 있습니다. 아래 명령어를 사용하여 저장소를 복제합니다. git clone https://github.com/chroma-core/chroma 이 명령어를 실행하면 현재 작업 디렉토리에 "chroma" 디렉토리가 생성되고 그 안에 Chroma DB 소스 코드가 복제됩니다. 단계 2: Docker를 사용하여 Chroma 실행 Chroma DB를 Docker 컨테이너로 실행합니다. Docker를 사용하면 Chroma.. 2023. 11. 10.