일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- analyzer test
- sort
- query
- Test
- API
- 900gle
- licence delete curl
- MySQL
- Mac
- matplotlib
- 차트
- license delete
- License
- aggs
- ELASTIC
- token filter test
- Python
- springboot
- plugin
- 파이썬
- aggregation
- zip 암호화
- Java
- Kafka
- docker
- zip 파일 암호화
- Elasticsearch
- TensorFlow
- flask
- high level client
- Today
- Total
목록전체 글 (460)
개발잡부
결론부터 format(buckets["doc_count"],',') 그렇다 이렇게 하면 숫자 3자리 마다 콤마(,) 가 찍힌다. 날짜구간: 2024-02-05 ~ 2024-02-06 확장검색 전체: 114,274건 * 일반 쿼리: 113,675건 * 슬로우 쿼리: 599건 - 확장검색 상세 - * 0ms ~ 1000ms: 111,250건 * 1000ms ~ 2000ms: 1,708건 * 2000ms ~ 3000ms: 717건 * 3000ms ~ : 599건 - 확장검색 슬로우 상세 - * 3000ms ~ 4000ms: 325건 * 4000ms ~ 5000ms: 147건 * 5000ms ~ : 127건 - 검색결과 상세 - * 1 ~ 100: 58,322건 * 100 ~ 1000: 12,161건 * 100..
kibana 에서 대시보드를 만들려고 하는데 시계열 데이터를 만들고 싶어서 DB에서 날짜를 임의로 업데이트를 해야겠다. python 에서 몇분전, 몇시간전 이런 식으로 날짜를 계산하고싶은데 datetime 을 활용해보잣. from datetime import datetime now = datetime.now() print("현재 :" , now) 출력 : 현재 : 2024-02-03 18:57:38.572549 timedelta를 사용해서 날짜 계산을 할껀데 import를 수정하고 from datetime import datetime, timedelta 마이크로 세컨드를 계산해보면 before_one_microsecond = now - timedelta(microseconds=1) print("1 mic..
아마도 6 버전인듯한데.. http 통신을 하는 플러그인을 제한 해서 head 를 설치를 못하고 chrome 브라우저 앱으로 사용했던 것 같다. 일단 head 란 뭐냐.. elasticsearch 필수 플러그인으로 활약하던 과거의 영광이 있던 플러그인이지만. .. 지금은 개발자들이 잘 안쓰는듯.. 좀 허접하게 생기긴했으나. 직관적으로 노드, 샤드 및 클러스터 상태를 확인할 수 있어서 난 아직도 사용 중 설치하러 가보자. 구글검색페이지 우측 상단에 점 9개짜리 버튼을 눌러보면 크롬 웹스토어 라는것이 있다. 접속하면 이런 화면이 나오는데 우측 상단 검색창에 elasticsearch 라고 검색해보자 검색결과 별점은 낮지만 최상단에 있는 Multi Elasticsearch Head 가 있다. Multi ? 내가..
전체 클러스터 재시작 및 순차적 재시작 전체 클러스터 다시 시작 또는 롤링 다시 시작을 수행하려는 상황이 있을 수 있습니다 . 전체 클러스터 재시작 의 경우 클러스터의 모든 노드를 종료하고 다시 시작하는 반면 , 롤링 재시작 의 경우 한 번에 하나의 노드만 종료하므로 서비스가 중단되지 않습니다. 전체 클러스터 다시 시작 1. 샤드 할당을 비활성화합니다. Disable shard allocation. 노드를 종료하면 할당 프로세스는 index.unassigned.node_left.delayed_timeout해당 노드의 샤드를 클러스터의 다른 노드에 복제하기 시작하기 전에(기본적으로 1분) 기다립니다. 이 작업에는 많은 I/O가 포함될 수 있습니다. 노드가 곧 다시 시작될 예정이므로 이 I/O는 필요하지 않..
생성된 zip 파일에 zipcloak 를 통해서 암호를 걸었으나.. 풀리지가 않았다.. 그래서 다른 방법으로 내 디렉토리에는 mapper 와 search 가 있다. search 디렉토리를 암호화 시켜보자 zip -e -r search.zip search 위의 명령어를 실해하면 패스워드를 입력하는 화면이 나오고 패스워드 입력을 완료하면 압축을 풀어보자 파일을 압축할때 입력했던 암호를 넣으면 아래와 같이 디랙토리 생성됨
normalizer - keyword 필드는 애널라이저를 사용하지 않는 대신 노멀라이저(normalizer) 의 적용이 가능 - 노멀라이저는 애널라이저와 유사하게 settings 에서 정의하며 토크나이저는 적용할 수 없고 캐릭터 필터와 토큰 필터만 적용해서 사용이 가능함 실무 적용 케이스 요구사항 대소문자 구분 없이 검색 가능 띄어쓰기 상관없이 검색가능 대소문자, 띄어쓰기 상관없이 exact 매칭 테스트 ) normalizer 가 세팅된 index 생성 searchWord 필드에 doo_normalizer 맵핑 PUT doocoo { "settings": { "analysis": { "normalizer": { "doo_normalizer": { "type": "custom", "char_filter":..
일단 삽질 부터 정리를 하자면.. 왜 삽질을 정리하냐 물어보신다면.. "결과가 좋지 않으니 시간낭비를 하지 말자" 라는 의미로 첨에 성능개선의 방향을 메소드 별 캐싱, 즉 동적인 결과를 반환하는 메소드 외에 검색키워드에만 영향을 받아 캐싱이 되어도 무방한 정적인 데이터를 처리하는 메소드를 캐싱 해버린다. 이렇게 캐싱할 메소드를 정해놓고 데이터 처리 하는 로직을 component 에 이관하고 component 를 캐싱하려고 했으나.. 메소드 캐싱을 할수록 시간이 증가하는 기적이 .. 20~50ms 씩 증가.. 위의 구조라면 저것들을 다 캐싱하는 순간.. 그래서 캐싱은 1번으로 끝내고 가능하다면 최전방으로 배치한다. 의 전략 최초 호출인 /search 의 호출을 캐싱해버리는.. /search 호출은 상품정보..
빠른 요약 multi_match 쿼리 구조는 analyzer 의 영향을 받는다 쿼리 유형 multi_match 쿼리가 내부적으로 실행되는 방식은 다음과 같이 설정할 수 있는 매개변수에 multi_match따라 다릅니다 best_fields ( 기본값 ) 모든 필드와 일치하지만 _score가장 적합한 필드의 문서를 사용하는 문서를 찾습니다. most_fields 모든 필드와 일치하는 문서를 찾아 _score각 필드의 문서를 결합합니다. cross_fields analyzer필드를 하나의 큰 필드인 것처럼 동일하게 처리합니다 . 모든 필드 에서 각 단어를 찾습니다 phrase match_phrase각 필드에 대해 쿼리를 실행 하고 _score 가장 적합한 필드를 사용합니다 phrase_prefix match..
페이지 캐시 - 쿼리에서 실제로 읽은 이 데이터의 양에 관계없이 데이터를 캐시 페이지 캐시의 기본 개념은 디스크에서 데이터를 읽은 후 사용 가능한 메모리에 데이터를 넣는 것 다음 읽기는 메모리에서 반환되고 데이터를 가져오는 데 디스크 탐색이 필요 없음 샤드레벨 요청캐시 - 유사한 쿼리를 사용할 때 데이터를 캐시 집계로만 구성된 검색 응답을 캐싱 구성 요소는 IndicesRequestCache 클래스 - 이 메서드는 쿼리 단계를 실행할 때 SearchService 내에서 사용 이 캐시는 기본적으로 활성화되어 있고, 총 힙의 최대 1%를 차지 요청별 구성 -요청 매개 변수를 통해 캐시를 활성화 결과를 반환하지 않는 검색 요청에 대해 활성 확인 GET /_nodes/stats/indices/request_ca..
searchTagList 의 수가 큰 shipMethod 를 구하는 쿼리 라고 하는데 실행해보면 shipMethod 의 cadinality 의 DESC 로 정렬되고 해당 집계에 대한 count 이다. 검증 안댐 GET /_search { "size": 0, "aggs": { "SEARCH_KEYWORD": { "terms": { "field": "shipMethod", "size": 10, "order": { "count": "desc" } }, "aggs": { "count": { "cardinality": { "field": "searchTagList" } } } } } } 쿼리 결과 { "took" : 15, "timed_out" : false, "_shards" : { "total" : 3, "s..