분류 전체보기 (87) 썸네일형 리스트형 코사인 유사도 증명하기 문서 간의 유사도, 즉 벡터 간의 유사도를 구하기 위해 코사인 유사도를 많이 사용한다.코사인 유사도가 어떻게 이 수식이 나오게 되었는지 수학적으로 증명해보도록 한다.필자는 고등학교 이후로 거의 수학을 다시 볼 일이 없었기 때문에 왜 이런 공식이 이런 형태로 되어있는지 궁금하여 정리한 글이다.코사인 유사도두 개의 문서를 v, u 라는 벡터로 임베딩했을 때, 두 벡터의 코사인 값은 다음과 같다.$$cosθ = \frac{v⋅u}{∥v∥∥u∥}$$유사도 비교하기벡터 v 를 기준으로 v 와 u 가 비슷한지, v 와 w 가 비슷한지 cosθ 으로 판단해보자.고등학교 때 $cosθ = \frac{x}{r}$ 임을 배웠다.두 벡터는 비슷할수록 θ 가 작아진다. (점점 가까워지므로)θ 가 작을수록 cosθ는 점점 커진.. [Elasticsearch] action.auto_create_index 를 설정하자 색인 시 인덱스 자동 생성을 방지해줄 수 있는 action.auto_create_index 설정을 해보자최종 elasticsearch.ymldiscovery.type: single-nodebootstrap.memory_lock: trueaction.auto_create_index: ".watches,.triggered_watches,.watcher-history-*"xpack.ml.enabled: falsenetwork.host: 0.0.0.0 ES 7.1.11. elasticsearch.yml 에 action.auto_create_index=false 설정항상 컨네이너 삭제 후 재시작함(에러) 컨테이너 뜰 때 Caused by: java.lang.IllegalArgumentException: the [.. [5/5] Node-exporter → Consul → Promethus → Grafana 연동하기 이전 글에서 prometheus 까지 데이터 수집을 완료하였다. [4/5] Node-exporter → Consul → Promethus → Grafana 연동하기이전 글에서 prometheus 을 구축하였다. [2/5] Node-exporter → Consul → Promethus → Grafana 연동하기이전 글에서 node-exporter 를 구축하였다.이제 consul 을 구축해보자② Consul파이프라인을 구성할 때 consul 이elsboo.tistory.com이제 grafana 를 구축해보자⑤ Grafanadocker-compose.ymlversion: '3'services: grafana: image: grafana/grafana container_name: grafana .. [4/5] Node-exporter → Consul → Promethus → Grafana 연동하기 이전 글에서 prometheus 을 구축하였다. [2/5] Node-exporter → Consul → Promethus → Grafana 연동하기이전 글에서 node-exporter 를 구축하였다.이제 consul 을 구축해보자② Consul파이프라인을 구성할 때 consul 이 반드시 필요하지는 않다. 결국 prometheus 에서만 exporter 를 알면 되기 때문이다. 하지만 consuelsboo.tistory.com이제 consul 에 node-exporter 를 등록하면 prometheus 까지 잘 수집되는지 확인해보자④ node-exporter 등록node-exporter 용 json 설정파일을 생성 후 consul 의 register API를 호출하면 된다.curl --request PU.. [3/5] Node-exporter → Consul → Promethus → Grafana 연동하기 이전 글에서 consul 을 구축하였다. [2/5] Node-exporter → Consul → Promethus → Grafana 연동하기이전 글에서 node-exporter 를 구축하였다.이제 consul 을 구축해보자② Consul파이프라인을 구성할 때 consul 이 반드시 필요하지는 않다. 결국 prometheus 에서만 exporter 를 알면 되기 때문이다. 하지만 consuelsboo.tistory.com 이제 prometheus 를 구축해보자③ Prometheusprometheus 는 exporter 들을 한데로 모으는 깔때기 같은 역할이다. node-exporter 를 consul 을 통해 prometheus 에 등록할 수 있게 해보겠다.docker-compose.ymlversion: .. [2/5] Node-exporter → Consul → Promethus → Grafana 연동하기 이전 글에서 node-exporter 를 구축하였다. [1/5] Node-exporter → Consul → Promethus → Grafana 연동하기최종 결과: 시스템 정보를 그라파나 대시보드로 확인할 수 있다각종 데이터를 그라파나를 통해 대시보드로 편리하게 확인할 수 있다. cpu 사용량, 메모리 사용량 같은 시스템 정보를 그라파나로elsboo.tistory.com이제 consul 을 구축해보자② Consul파이프라인을 구성할 때 consul 이 반드시 필요하지는 않다. 결국 prometheus 에서만 exporter 를 알면 되기 때문이다. 하지만 consul 이 가지고 있는 큰 장점이 있다. 바로 서비스 디스커버리이다.서비스 디스커버리는 node-exporter 같은 서비스를 API 한 번 호출.. [1/5] Node-exporter → Consul → Promethus → Grafana 연동하기 최종 결과: 시스템 정보를 그라파나 대시보드로 확인할 수 있다각종 데이터를 그라파나를 통해 대시보드로 편리하게 확인할 수 있다. cpu 사용량, 메모리 사용량 같은 시스템 정보를 그라파나로 볼 수 있는 모니터링 파이프라인을 도커를 사용해 구축해보겠다.① Node-exporter각종 데이터를 모아주는 수집기를 exporter 혹은 agent라고 부른다. exporter의 종류는 mysql, elasticsearch 등 다양하게 수집할 수 있다. 나는 그 중에서 하드웨어와 OS 메트릭 등을 확인할 수 있는 node-exporter를 사용할 것이다.docker-compose.yml 구성은 공식 깃을 참고하였다.version: '3'services: node_exporter: image: quay.io/.. 검색 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." [아호코라식 (Aho-corasick) 알고리즘] 논문 이해하기 (3) - 성능 측정 이전 글에서는 아호코라식 알고리즘의 구조에 대해서 알아보았다.이번 글에서는 아호코라식과 엘라스틱서치(ES) 로 검색을 했을 때 성능 측정을 간단하게 해볼 것이다.결론색인 키워드: 5543 개검색 요청: 1000 개 아호코라식ES메모리 사용량5 mb2 mb색인 시간42 ms286 ms검색 시간7 ms2051 ms아호코라식이 압도적으로 빠르다. (색인시간은 약 6.8배, 검색시간은 약 293배 빠름)메모리 사용량은 아호코라식이 더 잡아먹는다. (ES 보다 2.5배)아호코라식은 색인시간이 검색시간보다 더 오래걸린다. (42 ms > 7 ms)ES는 검색시간이 색인시간보다 더 오래걸린다. (2051 ms > 286 ms)※ 검색 결과는 고려하지 않았다.자세한 이야기[색인 키워드] 한글로 이루어진 단어 5543 .. [ElasticSearch] update_by_query version_conflict_engine_exception & update 쿼리 비교 문제운영 중인 인덱스 문서를 update_by_query 로 실시간으로 업데이트하는 배치를 만들었다. 운영 환경에서 첫 테스트를 하는데 몇 초 지나더니 version_conflict_engine_exception 에러가 간헐적으로 발생하기 시작했다.해결update_by_query 를 bulk update 로 바꿨다.[기존]POST my_index/_update_by_query{ "query": {"term": {"_id": {"value": "1"}}}, "script": { "source": "ctx._source.updated_by_query = true", "lang": "painless" }} [변경후]POST _bulk{"update": {"_index": "my_index",.. 이전 1 2 3 4 ··· 9 다음