묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
정말 사소한 질문이지만 ... 궁금해서 물어봅니다.
안녕하세요... 정말 사소한 질문이지만...controller 를 만들때@GetMapping() 이런식으로 () 빈 괄호를 쓰시던데 혹시 특별한 이유가 있을까요 ???? 뭔가 가독성이 좋다거나...?? 이런 스타일은 첨봐서 신기해서 문의드립니다 !
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
안녕하세요 선생님 '실전에서 바로 써먹는 Kafka 입문' 강의 질문 있습니다.
일단 해당 질문은 강의 내용하고 관련 없는 점 죄송 드립니다.'실전에서 바로 써먹는 Kafka 입문' 해당 강의 구입 전 질문을 하고 싶어서 찾고 있었는데 게시판이 따로 없어서 어쩔수 없이 여기에 글을 등록합니다. 양해 부탁드립니다. 일단 저는 어느 한 스타트업에서 종사 하고 있는 주니어 개발자 입니다. 어쩔수 없이 Kafka 를 당장 사용해야 하는 상황이 발생해서 Kafka 관련 지식도 중요하지만 이보다 더 중요한 것은 상용 서비스에서 실제로 직접 Kafka 를 설치 하고 서버를 운영 해야 하는 일인데요.일단 해당 강의 내용을 보니 AWS EC2 로 실습을 하는 것 같은데요. <질문1>이 강의 내용만 잘 따른다면 기초적인 Kafka 서버 운영에서 크게 무리가 없을까요? (제가 추상적으로 질문을 드렸고 어떤 기능 및 사용자 접속량도 말하지 않는 상황에서 답변드리기 곤란하시겠지만 대략 적으로 말씀드리자면 아직 초반이라 하루에 100명 정도 사용자가 접속 한다고 생각하시면 될 것 같습니다!)<질문2>그리고 제가 한번 찾아보니 "Amazon MSK", "컨플루언트" 같은 SaaS 형태로 제공하는 서비스를 제외 했는지 알고 싶습니다.<질문3>혹시 제가 말씀드린 상황에서 SaaS 형태로 제공하는 서비스는 비추천일까요?다시 한번 강의 내용과 관련없는 질문을 남겨드려서 죄송 합니다.답변 부탁드립니다 감사합니다 :)
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.
안녕하세요.spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.강의에서는 products 테이블과 index 하나이지만실제로 프로젝트를 하게 되면 테이블을 여러 개 만들게 됩니다.가령, 학사관리 시스템의 경우 필요한 테이블이,student, professor, department, subject, course_registration.. 최소한 이정도는 있어야 되는데요...이러한 경우, Spring Boot JPA + Elasticsearch 조합으로 프로젝트를 진행하게 되는데. 테이블이 여러 개 있는 경우입니다.관리자 페이지이도 있어야 되고요.학생과 교수님의 경우에는 학생검색, 교수님 검색, 과목 검색, 학과 검색을 해야 되고, 관리자는 모두 다 검색할 수 있어야 됩니다. (수강신청내역검색 추가) 이런 경우에는 settings.json 파일을 어떻게 설정해야 되는지요?자세한 답변 부탁드립니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
58 강에서 동의어처리가 안 됩니다
58 강에서 자동완성 기능은 잘 적용되나 동의어처리가 안 됩니다강의에 나온대로 elasticsearch와spring boot 의json파일에서 동의어처리와 자동 완성 처리를설정하고엘지 건조기엘지 휴대폰LG 에어컨엘지 청소기LG 공기 청정기엘지 식기세척기라고 POST 한 후에GET /products7/_search { "query":{ "multi_match":{ "query":"엘지", "type":"bool_prefix", "fields":[ "name.auto_complete", "name.auto_complete._2gram", "name.auto_complete._3gram" ] } }, "size":5 }이렇게 검색하면LG 에어컨LG 공기 청정기는 조회가 안 됩니다GET /products7/_search { "query":{ "multi_match":{ "query":"LG", "type":"bool_prefix", "fields":[ "name.auto_complete", "name.auto_complete._2gram", "name.auto_complete._3gram" ] } }, "size":5 }이렇게 검색하면LG 에어컨LG 공기 청정기만 조회 됩니다그리고, Spring Boot 를 사용하는 강의는 17, 18 강에서 하시고 kibana 에서 실습하다가 60강에서 다시 Spring Boot 에 적용하는 강의가 진행되는데, 18 강에서 없던 ProductService 가 이미 작성되어서 나옵니다.ProductControllerProductRepository도 그러네요...혹시 중간에 있었는데 제가 놓친 건가요?....
-
미해결실전에서 바로 써먹는 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] 한글 깨짐 에러
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
docker compose.yml 주석 중에 이해 안되는 부분이 있어요
es 설정을 입력해주는 부분이라고 이해했는데 운영환경에서는 설정하면 안된다는 게 무슨 말인지 잘 이해되지 않습니다.실제 docker 서버에서 경로에 elasticsearch.yml에서 설정하면 적용 안된다는 건가요? 아니면 보안 설정이라 실무에서 주의하라는 말씀이신가요?
-
미해결실전에서 바로 써먹는 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 입문 (검색 최적화편)
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 } ] }해운대, 해운대로 결과에서는 해운대가 해운 + 대 로 토큰화 되었습니다.해운대구 결과에서는 마찬가지로 해운 + 대 + 구 로 토큰화 될 것이라 예상했지만 해운대 + 구 로 토큰화 되었습니다. 어떤 이유로 이렇게 동작하는지 궁금합니다.
-
미해결실전에서 바로 써먹는 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파일을 작성해서 실행시키는 의도는 무엇인가요??
-
미해결컴팩트하게 이해하고 바로 구현하는 Kubernetes ELK 로그 모니터링 시스템
매니패스트 파일
elasticsearch, filebeat, kibana, logstash 매니패스트 파일은 어디서 확인할 수 있을까요?
-
해결됨컴팩트하게 이해하고 바로 구현하는 Kubernetes ELK 로그 모니터링 시스템
kubectl 버전 관련 문의
안녕하세요 강사님 강의소개에 있는 다음 내용에 맞춰서 kubectl을 설치하려고 하다가 버전 관련 문의가 있어서 다음과 같이 질문을 남기게 됐습니다. 여기에 올려주신 내용에 맞춰서 kubectl을 설치하려고 Window 설치 페이지에 방문 후 설치하려고 하다가 해당 페이지에서 다음과 같은 내용을 확인했습니다. Docker Desktop for Windows adds its own version of kubectl to PATH. If you have installed Docker Desktop before, you may need to place your PATH entry before the one added by the Docker Desktop installer or remove the Docker Desktop's kubectl. 저는 예전에 Docker Desktop for Windows를 설치했었고, 평소에도 Docker를 실행할 때 해당 Docker Desktop를 이용하여 실행 했었는데요. 터미널에 들어가 기존에 깔려있는 kubectl 버전을 확인해보니, 다음과 같이 나왔습니다. $ kubectl version --client Client Version: v1.30.2 공식 홈페이지의 최신 버전은 1.32 버전인것 같은데, 혹시 1.32 버전이 아니면 실습을 진행하는데 있어 문제가 있을까요? 감사합니다!