이전 글에서 사용했던 Cosine Search는 dense vector 하나만을 이용한 방법이었다. 그래서 내가 조금 더 다양한 정보를 갖고 있을 때, 이를 전부 활용하기 어렵다는 단점이 있다. 예를 들어, 내가 알고 있는게 게시물의 제목, 내용, 작성자, 작성 시간 등 몇 가지의 정보가 있음에도 게시물의 제목만 활용할 수 있다는 것이다. 모든 내용을 한문장에 섞어서 하나의 벡터화를 할 수도 있겠지만, 이럴 경우 엄밀히 말하면 각각을 비교한 결과가 아니게 된다. 이렇게 다양한 정보를 활용하기 위해서 Elasticsearch에서는 K-NN search 기능을 제공한다. 이를 이용해 검색 기능을 Springboot로 구현해봤다. 대략적인 구현은 cosine search에서 구현한 방식을 따라가려고 한다. 그..
작은 프로젝트로 텍스트 기반 검색 기능을 구현할 일이 생겼다. 처음에는 너무 막연했는데 Elasticsearch에서 텍스트 유사도 검색이라는 기능을 제공하는 것을 알게되었다. https://www.elastic.co/kr/blog/text-similarity-search-with-vectors-in-elasticsearch 벡터 필드를 사용한 Elasticsearch의 텍스트 유사도 검색 Elasticsearch 7.3 릴리즈에서는 벡터를 사용하여 문서 점수를 매기는 기능을 제공합니다. 이 게시물에서는 텍스트 임베딩과 벡터 필드를 사용하여 유사도를 검색하는 방법을 살펴봅니다. www.elastic.co 이 문서를 기반으로 Elasticseach cloud + Springboot를 이용해 검색 기능을 구현..
Elasticsearch를 cloud 환경에서 사용하고 Spring Boot와 연동하는 방법은 이전 글에서 다뤘다. 이번 포스팅은 내가 개발하면서 특이하다고 느꼈던 것 몇 가지를 정리하고자 한다. 1. credential 처리하기 credential 을 처리 하기 위해, 먼저 username과 password를 생성해야 한다. 그런데 Elastic cloud 에서 왜 숨겨놨는지 찾기 힘든 위치에 있어서 찾는데 고생을 좀했다. ES main 페이지 > 본인 계정 옆에 Manage 버튼 클릭 > 좌측 Security 를 클릭 이러면 아래 페이지가 나오는데 여기서 Reset password를 누르면 elastic user의 password가 생성된다. 복사해놓거나 다운로드한다. 이제 client에서 위에 생성..
- Total
- Today
- Yesterday
- openAI API
- GIT
- 티스토리챌린지
- AOP
- ChatGPT
- springboot
- AWS
- 람다
- EKS
- OpenAI
- java
- terraform
- AWS EC2
- OpenFeign
- S3
- MySQL
- Spring
- 오블완
- lambda
- docker
- elasticsearch
- JWT
- serverless
- 스프링부트
- Log
- cache
- CloudFront
- Elastic cloud
- Kotlin
- 후쿠오카
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |