묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
opensearch nori 플러그인 지원
안녕하세요강의 너무 잘 듣고 있습니다!실무 위주로 쏙쏙 뽑아주셔서 공부하기 편해요~ 글을 남기는 이유는 다름이 아니라현재 opensearch에서 nori 플러그인 지원하고 있어서 입니다~~강의에서는 지원 안 하고 있다고 나와서요~
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
스프링부트에서 엘라스틱 인덱스 설정(동의어 필터 적용 에러)
개발환경 : WSL 기반의 리눅스 + 엘라스틱 서치spring boot : 3.5톰캣 서버를 구동하면 아래와 같은 에러가 발생합니다.request [HEAD http://localhost:9200/products] returned [HTTP/1.1 404 Not Found]2025-06-19T09:34:18.201+09:00 DEBUG 15492 --- [ restartedMain] org.elasticsearch.client.RestClient : request [PUT http://localhost:9200/products] returned [HTTP/1.1 400 Bad Request]인덱스를 생성하는 구문에서 에러가 발생하는데 이유를 살펴보면 아래와 같이 나옵니다.[illegal_argument_exception] failed to build synonyms from ['product_synonyms' analyzer settings product-settings.json 파일에 설정한 product_synonyms 부분에서 에러가 발생하고 있습니다.(혹시 잘못 작성했을까 해서 강사님의 github 파일을 복사했습니다.)---------------------------------------------------------------------------------------------[해결해보기]products_name_analyzer에서 product_synonyms 를 제거한 후 서버를 구동하면 서버는 문제없이 구동됩니다."products_name_analyzer": { "char_filter": [], "tokenizer": "nori_tokenizer", "filter": ["nori_part_of_speech", "nori_readingform", "lowercase"] },엘라스틱서치에 가서 확인해 보면 인덱스는 생성 되었으나 한글이 깨지는 상황입니다."analysis": { "filter": { "product_synonyms": { "type": "synonym", "synonyms": [ "samsung, �궪�꽦", "apple, �븷�뵆", "�끂�듃遺�, �옪�깙, 而댄벂�꽣, computer, laptop, notebook", "�쟾�솕湲�, �쑕���룿, �빖�뱶�룿, �뒪留덊듃�룿, �쑕���쟾�솕, phone, smartphone, mobile phone, cell phone", "�븘�씠�룿, iphone", "留λ턿, 留�, macbook, mac" ] } },[질문1] product_synonyms 필터가 적용된 상태에서 서버를 구동하는 부분 에러[질문2] 한글 깨짐 에러
-
미해결빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
practice1 응답값 관련 질문
선생님의 코드와 100% 똑같이 하고 1_weather.py를 실행했는데 맑음, 구름많음과 같은 <data>들은 안뜹니다.. 그냥 홈페이지에 대한 html 코드만 나와요 홈페이지에 직접들어가보면 다음과 같은 내용이 표시됩니다.. 업데이트가 필요할 듯 합니다. ※ 날씨누리에 접속 시 해당화면이 나타났다면 다음을 확인해주세요.- 『 www.weather.go.kr/w/ 』 로 시작되는 URL로 접속- 기상청 날씨누리는 『 www.weather.go.kr/w/ 』 시작되는 페이지만 운영합니다.(21년 이후)- 그 외 접속 페이지는 현재 서비스 및 관리를 하지 않는 페이지 임을 알려드립니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
docker compose.yml 주석 중에 이해 안되는 부분이 있어요
es 설정을 입력해주는 부분이라고 이해했는데 운영환경에서는 설정하면 안된다는 게 무슨 말인지 잘 이해되지 않습니다.실제 docker 서버에서 경로에 elasticsearch.yml에서 설정하면 적용 안된다는 건가요? 아니면 보안 설정이라 실무에서 주의하라는 말씀이신가요?
-
미해결ElasticSearch Essential
하루 100GB 로그를 30기간 저장하는 클러스터 예시중 질문이 있습니다.
안녕하세요.오픈서치 샤드와 노드 구성 관련해서 질문이 있는데요,강의에서 말씀해주신 예시를 다시 계산해보니 뭔가 안 맞는 것 같아서요.하루 100GB 로그, 30일 보관, 레플리카 1로 설정했을 때전체 저장공간: 6,000GB인덱스별 샤드 최대 크기: 10GB데이터 노드: 10개노드당 가져야 할 디스크 크기 : 600GB이렇게 계산하셨는데, 결국에는 인덱스별 프라이머리 샤드개수가 10개고, replica까지 포함하면 20개니까 실제로는 노드 하나에 샤드 2개(프라이머리+레플리카)씩 들어가고 각 샤드 최대 크기가 10GB라면 노드당 최대 20GB밖에 저장이 안 되는 거 아닌가요?그럼 하루에 600GB를 저장하려면 샤드 1개당 최대크기가 최소 300GB는 되어야 할 것 같은데... 제가 잘못 이해한 건지 확인 부탁드립니다
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elastic Cloud 에서 "Logs and metrics" 기능 관련 질문 있습니다.
Elastic Cloud 에서 "Logs and metrics" 기능 활성화를 통해 나중에 문제 발생시 로그 및 매트릭 확인을 위해서 해당 기능을 활성화 하고자 하는데요.이 기능은 좋은데 문제점이 너무 빠르게 용량을 잡아 먹는다는 것 입니다.저 예산으로 가야 되는 상황이라 어쩔 수 없이 낮은 사양으로 할 수 밖에 없는 상황이지만 그렇다고 "Logs and metrics" 기능을 비활성화 하기에 나중에 문제 발생시 대처가 안 될 것 같아서 고민이 됩니다. 한번 여러 방면으로 대책법을 찾아보니필수 로그 및 메트릭만 수집 (필터링)수집 주기 조정 (Metrics 기준)이렇게 대응 방법을 말해주고 있는데요. 지금부터 ChatGPT 가 답변해준 글을 공유 하도록 하겠습니다. ==================================================💥 주요 성능 부하 원인🔁수집량 과다수집 주기 짧음, 많은 필드 → 데이터 폭주📥Ingest Pipeline 부하Elastic Agent가 사용하는 Ingest Pipeline이 CPU/RAM 자원 소비💾인덱싱 부하많은 로그가 빠르게 들어오며 디스크 I/O 및 CPU 부하 증가🔍자동 매핑 확장필드가 자동으로 확장되어 메모리, 클러스터 상태 불안정🧠ILM 미적용 / 장기 보존오래된 데이터가 계속 쌓이며 성능 하락 및 디스크 압박✅ 해결책: 성능 최적화 전략1. 필수 로그 및 메트릭만 수집 (필터링)수집 대상 최소화:log.level: error, source: app-* 등 필요 데이터만 수집예: Elastic Agent policy에서 수집 대상 제외 설정processors: - drop_event: when: not: equals: log.level: "error"2. 수집 주기 조정 (Metrics 기준)리소스기본 주기추천 조정Metrics (System, Docker 등)10s~15s→ 30s~60s로 늘리기Elastic Agent 정책에서 조정 가능 (Kibana → Fleet → Integration Policy → Advanced options)3. ILM 수명주기 정책 설정오래된 로그/메트릭 자동 삭제 또는 cold/warm tier로 이동예: logs-*, metrics-* 인덱스 7일 후 삭제 📍 Elastic Agent Policy 설정 페이지 찾는 방법🔹 경로:Kibana에 로그인왼쪽 메뉴에서 "Management" → "Fleet" 클릭→ Fleet은 Elastic Agent를 중앙에서 관리하는 UI입니다.상단 탭에서 "Agents" 또는 "Agent policies" 클릭원하는 정책 이름 클릭 (예: Agent policy 1)Integrations 리스트가 보이면, 로그/메트릭 관련 항목 클릭 (예: System, NGINX, Kubernetes 등)Advanced Options 또는 Streams 탭에서 수집 조건/필터 조정 가능🎯 필수 로그/메트릭만 수집하는 핵심 위치Integrations 안의 Stream 설정예: system.syslog → enabled ✅ / ❌메트릭 → 수집 주기(Collect every 10s 등)Advanced YAML (고급 설정)예를 들어, error 레벨만 수집하도록 필터 추가:processors: - drop_event: when: not: equals: log.level: "error" 🧭 화면 예시 흐름Kibana └─ Management └─ Fleet ├─ Agent Policies ← 여기서 정책 선택 │ └─ [Agent policy 1] │ └─ System integration 등 클릭 │ └─ Streams or Advanced options 설정 ==================================================이렇게 필수로그 수집 기능 및 수집 주기 조정 기능으로 조금이나마 성능 부하를 줄이고자 할려고 하는데요. 말 그래도 키바나 접속 해서 Fleet 페이지로 가서 먼저 agent policy 등록를 하고등록한 agent policy 접근 해서 system-1 클릭하면 Edit System integration 페이지 접근 할텐데요. 여기서 Collect metrics from System instances 에서 Change defaults 클릭 하고 여기서 원하는 Period 를 설정 하면 되는게 맞는 것인지 궁금 합니다... 혹시 또 추가적으로 설정 해야 하는 부분이 있을까요?
-
미해결ElasticSearch Essential
노드당 샤드수 제한 질문입니다.
안녕하세요현재 max_shards_per_node가 1400으로 설정되어 있습니다. 그런데 _cat/allocation?v 명령어를 통해 노드당 샤드수를 보면 특정 노드 한개(1번노드)가 1500가까이 할당되어 있는 상황입니다. 현재 롤오버되고 있는 인덱스의 샤드는 정상적으로 1번 노드에 할당되고 있습니다. 이런경우는 어떤경우인지 알 수 있을까요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
must_not 쿼리는 term 쿼리만 사용 가능한가요 ?
안녕하세요. 유익한 강의 열심히 수강하고 있습니다. 이번에 must_not 쿼리를 공부하는 과정에서 filter와 같이 term 쿼리를 사용하셨습니다. 주어진 상황이 광고 게시판의 글이 아니고 공지 글이 아니라 유연한 검색이 필요하지 않는 상황이어서 term 쿼리를 쓰신 것 같습니다. 그럼 만약, "검색엔진" 키워드를 제외한 관련된 게시글을 조회하고 싶다고 가정한다면 아래와 같은 쿼리문을 작성할 수 있을까요 ? "query" : { "bool" : { "must_not" : [ "match" : { "title" : "검색엔진" } ] }}
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
nori 관련 질문드립니다.
안녕하세요 강사님 강의 잘 보고 있습니다.다름 아니라 nori 토큰화 과정에서 이해가 안되는 부분이 있어서 질문드립니다.get /_analyze { "text":"", "analyzer":"nori" } 간단한 nori analyzer 테스트 쿼리입니다.해운대 결과{ "tokens": [ { "token": "해운", "start_offset": 0, "end_offset": 2, "type": "word", "position": 0 }, { "token": "대", "start_offset": 2, "end_offset": 3, "type": "word", "position": 1 } ] }해운대로 결과{ "tokens": [ { "token": "해운", "start_offset": 0, "end_offset": 2, "type": "word", "position": 0 }, { "token": "대", "start_offset": 2, "end_offset": 3, "type": "word", "position": 1 } ] }해운대구 결과{ "tokens": [ { "token": "해운대", "start_offset": 0, "end_offset": 3, "type": "word", "position": 0 }, { "token": "구", "start_offset": 3, "end_offset": 4, "type": "word", "position": 1 } ] }해운대, 해운대로 결과에서는 해운대가 해운 + 대 로 토큰화 되었습니다.해운대구 결과에서는 마찬가지로 해운 + 대 + 구 로 토큰화 될 것이라 예상했지만 해운대 + 구 로 토큰화 되었습니다. 어떤 이유로 이렇게 동작하는지 궁금합니다.
-
해결됨개발자에게 필요한 로그 관리
로그레벨 외의 Logger 분리 질문
안녕하세요! 강사님강의 잘 듣고있습니다. 몇가지 궁금한게 있어서 질문드려요.로그를 내용에 따라, Logger 분리를 하는 방법 (Access.log, app.log, security.log, error.log 등등) 도 있는 것으로 알고 있는데요. 실무 API 서버경우에도 이렇게 로그레벨 이외에 Logger 분리를 하는 방법을 많이 사용하시는지 궁금합니다.1번과 연관된 질문으로, 복잡한 실무 ELK 환경에서는 어플리케이션 로그의 경우, 한가지 로그에 몰아서 하는 방식을 많이 사용하는지, 각각 로거로 분리하고 elasticsearch index도 분리하는 방식을 많이 사용하는지 궁금합니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
(질문아님)Windows에서 Elasticsearch 하는 법
Docker를 설치한다. = 설치 방법은 구글링에 "Windows Docker 설치"만 검색해도 많은 자료가 있습니다. vim 설치 = 기본적으로 windows는 리눅스 환경이 아니기 때문에 CMD 또는 Powershell에서 강의처럼 vim을 사용하지 못합니다. 아래 링크를 통해서 설치만 해주고 프롬프트에 vim 입력하시면 사용 가능합니다. https://velog.io/@deadkim/windows-vim-windows%EC%97%90%EC%84%9C%EC%9D%98-vim-%EC%82%AC%EC%9A%A9
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
안녕하세요 선생님 Elastic Cloud 비용 관련해서 질문 드립니다.
의지 할 곳이 선생님 밖에 없어서 이렇게 질문 드립니다 ㅠ,ㅠ우리 회사에서 Elastic Search 를 이용해서 검색 기능을 서비스 출시 하고자 합니다. 참고로 데이터는 20~30만건 정도 됩니다. Elastic Cloud 에서 비용에서 각각 기능에 따라 등급이 있더군요. Standard Gold Platinum Enterprise 차이 간단하게 이렇게 검색해서 한번 확인 해보니깐 잘 나와 있긴 합니다만... 아무래도 선생님이 제공해주신 강의 보고 처음 접해보고 이것을 상용에서 적용 하고자 하니 비용적 부분에서 고민을 안 할 수가 없습니다. Enterprise 으로 갈수록 비용이 2배로 가긴 하지만 기능을 더 제공해주는 것 같습니다.하지만 저희는 20~30만개 정도 데이터를 활용 및 서치 기능을 구현하는 것이고기능도 선생님께서 알려주신 기능 안에서 해결이 가능 할 것 같습니다. 정리하자면20~30만개 정도 데이터를 이용해 검색 기능 제공 해야함 (앞으로 데이터 추가는 예상 됩니다.)기능은 선생님이 알려주신 기능에서 충분히 가능 할 것 같습니다.가능한 모니터링 기능이 있었으면 좋겠습니다. 그럼 standard 도 괜찮은 선택인지 알고 싶네요. 아무래도 회사가 큰 규모가 아니다 보니 비용적 부분에서 생각 안 할 수가 없습니다. (모니터링 기능도 있었으면 좋겠네요.) 다시 한번 영상 강의 만들어 주셔서 감사드리고 앞으로 더 좋은 강의 기대하도록 하겠습니다. 응원합니다. 감사합니다 :)
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elasticsearch 설치하기 강의에서 질문 있습니다.
맥에서 터미널을 이용해서 진행하고 계신데요윈도우에서 이렇게 하려면 어떻게 하면 되는지 자세하게 설명해 주셨으면 좋겠습니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
강의 질문입니다.
안녕하세요.ElasticSearch 를 배우고자 수강 시작했습니다.이 강의는 유투브 에도 올리시고 계신데요, 인프런에 올리신 강의를 유투브에도 다 올리실 계획이신지요?
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elasticsearch 지난 2021년 1월 Elastic 은 소프트웨어 라이선스 전력 변경 - 관련 질문
안녕하세요 우선 좋은 강의 만들어 주셔서 정말 감사드립니다. 저희 회사가 ElasticSearch 기능을 이용해서 서버 구축을 해야 되는 상황이 왔는데요.영상 강의 말씀해주신 부분 들어보니 2021년 1월 부터 Elastic 소프트웨어 라이선스 관련 변경으로 AWS 에서 지원하는 서비스 https://aws.amazon.com/ko/opensearch-service/ 아마존 오픈서치 경우 7.10 버전부터 독자노선 통해 업데이트를 하고 있다고 이해를 했습니다. 그에 반면 Elastic Cloud(elasticsearch 개발한 회사) 경우는 계속 그대로 버전업을 하고 있다 라고 이해를 했습니다. 저희가 일단은 어쩔 수 없이 EC2를 직접 설치해서 해당 서버에서 elasticsearch 를 다운로드 해서 직접 설치하고 관리를 해야 되는 상황에 있는데요. (영상에서 말씀해주신 대로 "모니터링", "확장", "보안" 등 문제 있음) 그럼 EC2 에 elasticsearch 를 다운로드 해서 직접 설치 및 상용 서비스 운영 할 경우 7.10 이상부터는 안된다는 것도 (무료가 안된다는 말 입니다!!) 동일한가요??(검색을 해보았지만 제가 원하는 명쾌한 결과가 안나와서 이렇게 선생님에게 질문 드립니다.) 그럼 좋은 하루 보내시길 바랍니다! 감사합니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 - 영상 누락
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 영상 확인해보면 3초짜리 영상만 있습니다.그외 영상은 짤린거 같습니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
코드 에러 요청
Spring boot 코드 에서 완성본에CreateProductRequestDto클래스에 public CreateProductRequestDto() { }기본 생성자가 없어서 파씽 관련 에러가 발생되는거 같습니다.삭제 Controller 가보면public ResponseEntity<Void> deleteProduct(@PathVariable(name = "id") Long id) 이렇게 @Pathvariable 옵션에 name 을 명시적으로 지정하지 않으면 Spring Converter 내에 문제가 발생되는거 같습니다.(spring boot 최신 버전 한에...)
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
질문있습니다!!
안녕하세요, 강사님의 커리큘럼이 여러모로 정말 많은 도움이 되고있습니다!! 항상 잘보고 있습니다.질문이 있는데요, compose 파일을 통해서 이미지화하여 Elasticsearch를 활성화 시키는데, Docker의 Elasticsearch 이미지를 DockerHub에서 다운받는게 아니라 직접 yml파일을 작성해서 실행시키는 의도는 무엇인가요??
-
미해결개발자에게 필요한 로그 관리
trace나 debug 레벨과 같은 로그도 수집을 필수적으로 하는 편이 좋을까요?
안녕하세요, 강사님. 우선 강의 잘 듣고 있습니다!실무에서는 어떤 식으로 로그 관리가 진행되는지 궁금합니다.개인적으로 trace나 debug 레벨과 같은 로그도 수집을 필수적으로 하는지 궁금합니다. 보관 기간을 3~7일 정도로 짧게 해서 저장한다고 하면 어차피 금방 제거되는 로그를 수집하는 이유가 있을지 의문이 들어서요!debug 레벨 로그는 분석이 필요할 때만 그 때 그 때 심고 필요가 없어지면 지우는 게 맞을까요? 보통은 trace 레벨 로그를 더 많이 쓰는지도 궁금합니다. 감사합니다 :)
-
미해결ElasticSearch Essential
노드에서의 가용영역 이슈
안녕하세요지난번 노드당 샤드수에 대한 답변 감사합니다.추가로 궁금한 사항이 있습니다.비용에 관한 이슈인데요. 현재 가용영역이 a~d로 총 4개이고 클러스터 방식의 노드는 5개입니다. c영역에만 두대이고 나머지 영역에는 각 1대의 노드가 배치되어 있습니다. logstash 역시 노드마다 하나씩 총 5대이고 파티션 100개에서 컨슘하고 있습니다.이 상황에서 datatransfer 비용이 생각보다 많이 나오고 있어서 비용 효율화를 진행하려고 합니다. 현재 생각중인 방안은 노드 5대를 가용영역 3개에 할당하는 방안입니다.추가로 logstash에서 같은 노드에 있는 es 샤드에 데이터를 적재하도록 하는 방안은 안되는지 궁금합니다(kafka의 가장 가까운 복제본에서 컨슘하는 개념으로 접근했습니다 https://cwiki.apache.org/confluence/display/KAFKA/KIP-392%3A+Allow+consumers+to+fetch+from+closest+replica)혹시 es를 운영하면서 비용효율화를 진행해 본 경험을 공유해주시면 큰 도움이 될 것 같습니다.감사합니다!