일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Elasticsearch
- 파이썬
- Mac
- API
- analyzer test
- Java
- Test
- Python
- query
- Kafka
- TensorFlow
- licence delete curl
- docker
- zip 파일 암호화
- sort
- aggs
- 900gle
- token filter test
- zip 암호화
- License
- MySQL
- matplotlib
- plugin
- springboot
- aggregation
- 차트
- high level client
- flask
- ELASTIC
- license delete
- Today
- Total
개발잡부
[kibana] Search Profiler 7.9.2 본문
원인좀 파악해주세요. 라고 빡치게 한다면 Search Profiler 를 사용해보자.
이유를 설명해주면 근거를 대라고 하는 얼토당토 않은 사람도 많으니.. 걀걀
Kibana Dev Tools 에 가면 가장많이 쓰는 Console 옆에 Search Profiler 라는 탭(?) 이 있다. 눌러보자
이런화면인데 왼쪽은 쿼리를 넣고 오른쪽에서는 Query 와 Aggregation 의 프로파일링된 내용을 확인 할 수 있다.
자.. 쿼리를 넣고
파란버튼 Profile 클릭 하면 아래와 같이 프로파일된 내용을 확인 할 수 있다.
디테일을 봐볼까?
View details 를 클릭해보면 상세 내용을 확인할 수 있다. 눌러보자
Lucene 구문 으로 바뀐 structure 쿼리를 볼 수 있다.
놀라운 사실..
match 쿼리의 속은 term query 였다...
토큰 + SYNONYM 토큰은 하나의 쿼리에서 실행되고 분해된 꼴을 보니 white space 로 분해 된거 같은데
그 기준으로 생성된 쿼리들은 multi match Query 의 Operator 의 영향을 받는다. 그것은..
Bool Query 하위에 있는 dismax Query 들이 Operator 에 맞춰 조회가 되어야 검색결과로 나온다는 것이다
오늘 이 대단원의 삽질을 하게 만든 이유를 확인하는 과정을 요약하자면
- 검색쿼리추출
- 색인된 텀 확인
- 검색어 전처리에 사용된 analyzer 확인 해서 토큰 분해
- kinaba Search Profiler 를 사용해서 Query 확인
- 문제 해결
- 퇴근
Search profiler 안써도 되긴하지만 왜 안되요 근거를 제시하세요 하면 방어용으로 쓸만하다..
실행시간도 나오니까... 쿼리가 느릴때 원인 파악에 좋을 듯 하네..
'ElasticStack > Kibana' 카테고리의 다른 글
[kibana] Fleet -퍼옴 (0) | 2022.11.13 |
---|---|
[kibana] 메소드 실행시간 기록 (0) | 2022.01.03 |