반응형 분류 전체보기127 ElasticSearch SendMail 발송 batch 용도 Scroll API 구현하기 ElasticSearch scroll API 라는 기능이 존재한다. 가장 많이 사용되는 이유는 호출해야되는 데이터가 너무 많을경우 Batch 개발시 사용된다 페이징으로 개발되어있는 리스트를 전체 다운로드 해야하는경우 ElasticSearch 10000건으로 제한되어있다. 5.x버전이후로 성능상 이슈로 막혀있는데 이부분을 강제적으로 풀수는 있지만 권장하지않는다 개발자의 잘못된 실수로 부하가 줄수있는 요청에 대해서 미연해 방지해서 서비스가 죽는 사태를 방지하기 위해서다. 10000건 제약때문에 어떻게 해야할지 난감한 상황이 생겼을때 사용하게된다. 대량의 데이터 조회하기 위해 RDBMS의 cursor같은 기능을 하는것이 바로 Scroll API 이다. Hits 를 가져올때 사용하는것이고 Aggs 같은 집계형태.. 2020. 5. 13. ElasticSearch Query context vs Filter context 차이점 Query DSL (Domain Specific Language) Nosql 에 적재된 document 들을 RDBMS 에서 우리가 자주 썻던것처럼 Query 질의를 해야하는데 필요한 기능을 제공하주는 역활을 합니다. Query DSL 진행하기전 Query Context 와 Filter Context 차이점에 대해서 아래 링크를 확인하시면됩니다. 번역기 돌리면 대충 이해가능합니다. Query context "쿼리절이 문서와 일치하는가?" 라는 질문에 답하며 _score 를 통해 문서가 다른문서와 비교하여 Query와 얼마나 일치하는지를 계산합니다. Filter context "쿼리가 문서와 일치하는가?" 라는 질문에 답하지만 _score는 계산하지 않습니다. 대부분 필터링을 위해 사용합니다. https:.. 2020. 5. 13. ElasticSearch _source / doc_value / stored_fields 3가지 차이점 ElasticSearch 를 공부하다보니 모르는것 투성이라서 하나씩 궁금할때마다 정리 해보고자 합니다. 아래 2가지는 일부 필드만 결과로 반환하도록 하는 옵션 입니다. 일단 차이점이 뭔지 알아볼까요 ? _source_stored_fields 기본적으로 검색 결과로 나온 원래의 json 데이터 모두는 _source 에 압축하여 담겨서 반환된다고 합니다. 이 때 _source=name,location 처럼 특정 필드를 지정하면 _source 에 담긴 데이터를 압축 해제한 다음 지정한 필드들만 뽑아서 반환합니다. 이 과정에서 수행되는 fetch & 압축해제는 매우 빠르게 수행된다고 합니다. 반면 stored_fields=name,location 처럼 지정된 경우, 지정한 필드가 stored 되어 있으면 (기본.. 2020. 5. 12. ElasticSearch Aggregations aggs composite afterkey Spring 집계 활용방법 이번에 회사옮긴지 한달정도 되었는데 ElasticSearch 를 해본적이 없어서 오랜만에 삽질 하고있는 개발자 입니다. 죽을꺼같아요..쓰바 집에가고 싶다.. 한주동안 결과를 달라는데 이런... 괜히 이직했어.. 하필 데이터도 많은 deal 상품 처리 하는 팀으로 와서 뽑아달라는 데이터가 몇억건에서 1건씩 max인값을 뽑아달라는데 난감합니다. group by 를 하면된다고 하는데요 일단 RDB 가 존재하고 RDB를 기준으로 document를 만들어둔 ES가 존재해서 당연히 처음에는 할줄아는 RDBMS로 데이터를 추출하려고 시도해보았습니다. 안나오네여 거의 많이보는 결과는 time out 아니면 뻗드라구여 slow Query 누가 날렸냐구 DB팀에서 DM날라옵니다. ElasticSearch 데이터 집계형태로.. 2020. 5. 12. ElasticSearch kibana DevTool Springboot Java 사용방법 Elastic Search 를 처음 접하고 아무것도 모르는 상태에서 일단 개발에 필요한 최소한에 기능들 위주로 공부하면서 정리한 내용을 공유드립니다. 회사에서 데이터가 누적되면서 RDB로는 감당할수 없을정도에 데이터 처리를 위해서는 NoSQL을 사용하는것이 요근래는 선택이 아닌 필수가 되어가는 현실입니다. ElasticSearch 1.xx 버전에서는 Lucene Query 를 접해보지 않았다면 러닝 커브가 존재하겠지만 버전업되면서 6.xx 인지 5.xx 인지부터 Kibana 라는 플러그인을 통해서 좀더 쉽게 엘라스틱서치 Document 를 접근하고 가공하기 편하게 되었습니다. Kibana 에 다양한 기능이 제공하지만 이번 포스팅에서는 DevTools 메뉴에서 제공하는 Console 에서 기본적으로 개발에.. 2020. 4. 29. Local mac os x brew 설치 php 초기화 이 글은 맥오에스 모자브에서 PHP 개발환경을 만들기 위한 사전 준비 작업에 해당하는 내용입니다. 특히 Homebrew/php 탭이 디프리케이션(deprecation)이 되면서 새로운 Homebrew/core 탭으로 개발환경을 설정하기 위해서 미리 해 두어야하는 작업에 해당합니다. 이전의 브루 포뮬러(brew formulae)에서 새로운 페클 페키지(pecl package) 방식으로 전환하는 가장 깔끔한 방법은 PHP 관련된 것을 모두 제거 하고 새로운 방식으로 설치를 하는 거겠죠. 이 가이드는 GRAV 개발 블로그에 있는 내용을 실제 적용하면서 번역한 내용입니다. 먼저 해야할 것은 설치된 브루 패키지를 최신으로 업데이트를 하고 업그레이드까지 하는 것인데요. 실제로 이렇게 하면 코어 PHP 패키지를 자동.. 2019. 10. 25. mac brew 오류시 해결방안 php 7 또는 5 버전 설치시 brew 선행조건 오류시 아래처럼 해보세요 순서대로 해보세요 1. 버전을 확인한다. > brew list --versions libsecret 결과 아래처럼 나오던가 아무것도 안나온다. libsecret 0.18.5_1 2. 아래 ls 로 확인해보자 >ls /home/linuxbrew/.linuxbrew/Cellar/libsecret 결과 아래처럼 나오던가 아무것도 안나온다. 0.18.5_1 3. brew 업그레이드 >brew upgrade libsecret 아래처럼 나오던가 안된다 이러면 그다음스탭으로 ==> Upgrading 1 outdated package, with result: libsecret 0.18.5_1 -> 0.18.6 Error: homebrew/dup.. 2019. 10. 25. 이전 1 ··· 8 9 10 11 다음 728x90