OpenSearch는 Apache 2.0 라이선스 하에 제공되는 검색, 분석 및 관찰성 애플리케이션을 위한 확장 가능하고 유연하며 확장 가능한 오픈 소스 소프트웨어 제품군입니다.이 노트북은OpenSearch는Apache Lucene기반의 분산 검색 및 분석 엔진입니다.
OpenSearch 데이터베이스와 관련된 기능을 사용하는 방법을 보여줍니다.
실행하려면 OpenSearch 인스턴스가 실행 중이어야 합니다: 간편한 Docker 설치는 여기를 참조하세요.
similarity_search는 기본적으로 Approximate k-NN Search를 수행하며, 대규모 데이터셋에 권장되는 lucene, nmslib, faiss와 같은 여러 알고리즘 중 하나를 사용합니다. 무차별 대입 검색을 수행하기 위해 Script Scoring 및 Painless Scripting으로 알려진 다른 검색 방법이 있습니다.
자세한 내용은 여기를 확인하세요.
설치
Python 클라이언트를 설치합니다.OpenAIEmbeddings를 사용하려면 OpenAI API Key를 가져와야 합니다.
Approximate k-NN을 사용한 similarity_search
사용자 정의 매개변수를 사용한Approximate k-NN Search를 통한 similarity_search
Script Scoring을 사용한 similarity_search
사용자 정의 매개변수를 사용한Script Scoring을 통한 similarity_search
Painless Scripting을 사용한 similarity_search
사용자 정의 매개변수를 사용한Painless Scripting을 통한 similarity_search
Maximum marginal relevance search (MMR)
유사한 문서를 찾고 싶지만 다양한 결과도 받고 싶다면 MMR이 고려해야 할 방법입니다. Maximal marginal relevance는 쿼리와의 유사성과 선택된 문서 간의 다양성을 모두 최적화합니다.기존 OpenSearch 인스턴스 사용하기
이미 벡터가 있는 문서가 포함된 기존 OpenSearch 인스턴스를 사용하는 것도 가능합니다.AOSS (Amazon OpenSearch Service Serverless) 사용하기
faiss 엔진과 efficient_filter를 사용하는 AOSS의 예제입니다.
여러 python 패키지를 설치해야 합니다.
AOS (Amazon OpenSearch Service) 사용하기
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.