ELK 복습 (2)

dosiri_·2021년 10월 1일
0

복습

목록 보기
12/14
post-thumbnail

1001

10월도 화이팅~

1. Docker 복습

2. ELK

다음과 같은 구조

E L K 각각 다른 포트번호를 사용한다.

POST / PUT / GET / DELETE 후 인덱스 명

GET _cat/indices?v&pretty

저장된 모든 index들 다 나옴 이쁘게

논리쿼리는 Query 에 다양한 조건을 추가하는 방법


=> customer_first_name 에 mary 가 들어가는 데이터 불러옴


=> Monday 와 mary 두가지 조건을 추가하면 모두 만족하는 값을 찾음

=> AND 연산자!


=> 말그대로 must의 반대. mary 가 들어있는 요소를 제외시킴


=> must와 must_not을 같이 쓸 수도 있다!


=> should 는 OR 연산자다! mary 이거나 Monday 인 데이터 불러옴.

=> 값이 하나일때는 must와 같은 데이터를 가져온다.


=> must와 should 같이 쓰면 should 는 score(유사도) 에만 영향줌


=> filter는 yes or no. 유사도 기반이 아니라서 score를 반환하지 않음. 하지만 그만큼 빠르다!

=> filter 먼저하고 must 하면 filter로 유사도 검사를 하지않고 빠르게 검색 후 그 중 must 로 score 값을 냄

=> wildcard 를 사용하고
mar* 를 하면 mar 으로 시작하는 단어들을 검색
mar? 를 하면 mar로 시작하는 단어 하나만 가져옴

=> highlight 이용 시 가져온 데이터에 색을 줄 수 있다!

3. Elastic Search와 Express 서버 통신 구축

modules 폴더에 기본 환경 세팅 후

router 를 연결하고 controller 작성

react로 프론트를 만들고 그곳에서 query 값을 q로 받아온다.

search 로 post_index라는 인덱스에서 title 을 highlight하여 result 값으로 받는다.

토크나이저는 ngram을 이용해서 데이터를 잘게 쪼개서 받을 수 있다.

searchResult라는 변수에 받아온 result값의 hits값을 넣어주고

findResult에 받아온 hits 값을 map함수를 이용해서 item을 뽑아서 title과 유사도 score을 return 해준다!

0개의 댓글