분류 전체보기 36

Bool query (must 와 should)

Elasticsearch bool query를 공부하면서 문제에 직면하였다. must와 should 그리고 filter의 차이는 무엇인가? 정답은 must 와 should는 검색시 score 계산을 하고, filter 쿼리를 거치면 점수 계산을 하지 않는다 . 그렇다면 must 와 should의 차이점은? 이미지로 살펴보자 현재 ds_admin_minsu_test 인덱스에는 두 개의 document가 있고 field의 구성은 "index_name", "field_name" 두 가지로 되어있다. "index_name"이 "arigatto" 인 다큐먼트를 검색하는데, 현재 ds_admin_minsu_test 인덱스에는 두 개의 필드 이름이 모두 "index_name" = "arigatto"이므로 둘 다 검색..

Elastic Search 2023.10.06

나에게 주어진 과제들

1. VM 서버 3대 설치 - 1번 vm : E.S 설치 - 2번 vm : E.S 및 filebeat 설치 - 3번 vm : E.S 및 Filebeat 설치 - 4번 vm : Logstash 및 kibana설치 각 E.S (NODE) 를 하나의 클러스터에 연동 전달사항 : 1. 서버 4대에 ES 노드 3개서버, 1개서버에 키바나, logStash 세팅 es 1~3번 서버중 2대에 파일 비트 설치 2. 파일비트로 서버의 SYSTEM로그수집, 3. logStash 에서 파이프라인으로 수집 라인 2개 구성 파일비트 2대에서 각각 데이터 받기 4. datastream형식으로 인덱스 생성후 2개의 인덱스 에 로그 받기 4. logStash에서 필터 이용해서 ingest구성 (grok필터 테스테 ) 5. ES에 h..

Elastic Search 2023.09.15

ES 설치 체크리스트

**OS 방화벽 무조건 꺼라 1. 네트워크 설정 1 (VBOX 기준 각 VM 네트워크 설정 = (1.Host only adapater (내부 vm간 통신) 2. NAT 네트워크 (외부 통신 = 키바나 + 인터넷) 2. 네트워크 설정 2 : 각 VM에 IP fix해주기 + 게이트웨이 설정 코드는 아래와 같다. NAT 네트워크 : TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=eui64 NAME=enp0s3 UUID=18f..

Elastic Search 2023.09.15

인턴 교육 일정 종료 및 팀 배속

6주차 가량의 인턴 교육 과정이 종료 되었다. 원래는 8주차 과정이였지만, 동기 인턴님이 2주 먼저 근무를 시작하셔서, 나는 일정을 조금 앞당겨 타이트하게 진행했다. 처음 발표를 했을 때와 두 번째 발표를 했을 때, 콘텐츠 구성 능력 면에서 많이 나아진 것이 느껴졌다. 다만 전달하고자 하는 정보를 명확하게 하는데 있어서 아직 부족한 면이 있다. 어떻게 하면 발표 능력이 좋아질지 아직까지 감을 찾지 못하여서 반복하여 피드백을 받을 수 밖에 없는 것 같다. 앞으로 내가 맡게 될 업무는 검색 엔진의 관리자 페이지의 구축으로 주로 React, Django, E.S를 베이스로 삼아서 진행이 될 예정이고 React 라이브러리는 아직 학습이 부족한 상태이므로, 더 focus를 맞춰서 study 진행하면 될 것 같다.

회사생활 2023.08.31

React-dom과 렌더링 (render)에 관해서

React-dom이 하는 역할은 무엇인가? - React-dom은 사용자에게 보여지는 html 문서에 컴포넌트를 적용한 페이지를 보여주기 위한 importing을 시켜주는 모듈이다. 우리는 index.html안에 react-dom 모듈을 사용하여, app.jsx를 참조, 이 app.jsx파일은 리액트 src폴더의 js 파일 (컴포넌트 및 variables,function 들)을 참조 함으로써 궁극적으로 html로 return해준다. 쉽게 말해서 징검다리 역할을 해준다고 생각하면 될 것 같다. Rendering 관리의 중요성 : 리액트 컴포넌트 들은 매 번 값이 바뀔 때, 조건에 따라서 리 렌더링이 된다. 이 때, 필요없는 컴포넌트 들까지 렌더링을 해버리면 잡아먹는 리소스가 어마어마하게 많아지기 때문에 효..

react 2023.08.31

REST API, (GET,PUT,POST,DELETE)의 정리

GET은 보통 조회를 할 때 사용한다. DB로 생각했을때는 SELECT에 해당 예를들어, 회원가입한 사용자의 정보를 알고 싶다면, 아래처럼 사용한다. GET http://localhost:8080/rest/api/v1/user/1 2.2. POST Method POST는 보통 데이터를 추가할 때 사용한다. DB로 생각했을때는 INSERT에 해당 회원 가입을 하는 경우, POST 방식으로 사용자의 정보를 함께 전송한다. POST http://localhost:8080/rest/api/v1/user { "username": "아무개", "password": "1234", "email": "test@google.com", ... } 2.3. PUT Method PUT은 데이터를 수정 할 때 사용한다. DB로 ..

Django 2023.08.30

Django 가장 중요한 부분 (onChange 함수)

onChnage 함수의 발생 시점은 조회 버튼을 누른 후, 페이지를 넘겼을 때부터이다. antd 라이브러리의 Table 컴포넌트의 sorter 기능을 통해서 기본적으로 정렬 값을 setting 해주었기 때문에 조회 버튼을 누른 시점에서는 onChange 함수가 동작하는 조건이 아니게 된다. 그러므로 우리가 setSort (sorter.field? sorter.order === "ascend"? "-cruzlink." + sorter.field + ".keyword": "cruzlink."+sorter.field+".keyword":"cruzlink.TRN_GID.keyword") setFilter(''); fetch({ pagination, filter, sort }); 조회 버튼을 눌렀을 때는 onCh..

Django 2023.08.21