Elastic Search: 시맨틱 검색 경험을 구축하세요

개요


데이터 온보딩

Elastic Cloud 계정 생성하기

14일 체험판으로 시작해 보세요. cloud.elastic.co에 접속하여 계정을 생성한 후에, 아래 단계를 따라 전 세계 50개 이상의 지원 리전 중 하나에서 Elastic 스택을 처음 시작하는 방법에 대해 알아보세요.

Edit settings(편집 설정)를 클릭하면 AWS, Microsoft Azure, Google Cloud 등 클라우드 서비스 제공자를 선택하실 수 있습니다. 클라우드 서비스 제공자를 선택하고 나면, 관련 리전을 선택하실 수 있게 됩니다. 다음으로, 몇 가지 하드웨어 프로파일 중에서 선택하여 필요에 따라 원하는 대로 배포를 사용자 정의할 수 있는 옵션이 있습니다. 또한 최신 버전의 Elastic이 이미 미리 선택되어 있습니다.

배포가 생성되는 동안, 사용자 이름과 비밀번호가 제공됩니다. 통합을 설치할 때 필요할 경우 이것을 복사하거나 다운로드해야 합니다.

Elastic Web Crawler를 사용하여 데이터 수집하기

배포를 생성했으므로, 이제 데이터를 Elastic으로 가져올 차례입니다. Elastic의 Web Crawler를 사용하여 이 작업을 해보겠습니다. 먼저, Build a semantic search experience(시맨틱 검색 경험 구축) 타일을 선택합니다.

다음으로, 시맨틱 검색을 설정하기 위해, 다음 중 하나로 시작할 수 있는 페이지가 표시됩니다.

  • Elastic Learned Sparse Encoder
  • 벡터 검색
  • 자연어 처리(Natural Language Processing, NLP) 보강

이러한 모든 기능과 그 밖의 다른 기능은 Elasticsearch Relevance Engine(ESRE)의 일부입니다.

이 안내서의 목적을 위해, Elastic Learned Sparse Encoder와 벡터 검색을 둘 다 사용하여 시맨틱 검색을 설정해 보겠습니다.

참고: 시맨틱 검색을 시작하고 텍스트를 검색하려면, 먼저 Elastic Learned Sparse Encoder 가이드를 사용해 보셔야 합니다. kNN 벡터 검색 가이드는 다음 기준 중 일부를 충족하는 사용자에게 더 적합할 수 있습니다.

  • 데이터 과학이나 데이터 과학 기술 세트에 액세스할 수 있음
  • 기본 제공 Elastic Learned Sparse Encoder 시맨틱 검색 모델이 자신의 사용 사례를 다루지 않을 것으로 판단됨
  • 임베딩 모델 비교 및 잠재적으로 머신 러닝 모델 미세 조정 경험이 있음
  • 빠른 kNN 검색에는 상당한 RAM 리소스가 필요할 수 있음을 알고 있음

시작할 준비가 되었다면, AI 검색 지원 애플리케이션을 구축하기 위해 원하시는 방법을 선택하세요.

두 방법 모두 Create an index(인덱스 만들기)를 선택하여 시작합니다. 여기에서 web crawler(웹 크롤러)를 선택하여 데이터 수집을 시작할 수 있습니다.

웹 크롤러를 설정하려면, 이 가이드 투어를 확인하거나 아래 지침을 따르세요.

이제 인덱스를 생성합니다. 이 안내서의 목적을 위해, 우리는 elastic.co 전체에서 블로그를 수집하고 있습니다.

Web crawler search index

인덱스에 이름을 지정한 후, Create index(인덱스 생성)를 선택합니다. 다음으로, Validate Domain(도메인 유효성 검사)을 한 다음 Add domain(도메인 추가)을 선택합니다.

오른쪽 하단에서 도메인을 추가한 후 Edit(편집)을 선택하면 필요한 경우 하위 도메인을 추가할 수 있습니다.

Add a domain to your index다음으로, Crawl rules(크롤링 규칙)를 선택하고 아래와 같이 크롤링 규칙을 추가합니다.*

Manage domains

*크롤링하려는 페이지에는 링크되어 있는 페이지들이 있게 되므로 해당 링크와 다른 링크를 허용하지 않는 추가적인 규칙을 추가해야 합니다.

 

그런 다음, 나중에 필드를 선택하면, body_content와 같이 일부 필드가 512개의 토큰 수를 초과합니다. Extraction rules(추출 규칙)를 활용하여 블로그의 관련 부분만 필터링해야 합니다.

Extraction rules(추출 규칙)를 선택한 후, Add content extraction rule(콘텐츠 추출 규칙 추가)을 클릭합니다.

다음으로, Rule description(규칙 설명)에서 이 규칙이 어떤 데이터를 추출하게 될지를 다른 사람이 이해하는 데 도움이 되는 이름을 지정합니다. 이 안내서의 목적을 위해, 이를 "main"이라고 부르겠습니다.

이제, Apply to all URLs(모든 URL에 적용)를 선택한 다음 Add content fields(콘텐츠 필드 추가)를 선택하면 플라이아웃이 나타납니다. 플라이아웃이 나타나면 아래에서 다음 기준을 작성하고 선택합니다.

  • 문서 필드:
    • 필드 이름: main
  • 출처:
    • 다음에서 콘텐츠 추출: HTML 요소
    • CSS 선택기 또는 XPath 표현식: main
  • 콘텐츠
    • 다음에서 콘텐츠 사용: 추출된 값
    • 추출된 콘텐츠를 다음으로 저장: 스트링

이 기준을 입력한 후, Save(저장)를 클릭한 다음 Save rule(규칙 저장)을 클릭합니다.


Elasticsearch와 ESRE로 작업하기

Elastic Learned Sparse Encoder를 사용하여 데이터 수집 및 검색

벡터 검색을 시작하기 위해 위의 권장 기준을 검토했고 해당 내용이 여러분이 선호하는 방법이라면, 왼쪽의 Search your data using kNN vector search(kNN 벡터 검색을 사용하여 데이터 검색)로 이동하여 지침을 따릅니다.

그렇지 않고 Elastic의 즉시 사용 가능한 시맨틱 검색 모델인 Elastic Learned Sparse Encoder를 사용하려는 경우에는, 아래 지침을 확인하세요.

이를 수행하려면 Pipelines(파이프라인)를 선택하고 상단에서 Copy and customize(복사 및 맞춤 설정)를 선택하여 Unlock your custom pipelines(맞춤형 파이프라인 활용)를 선택합니다. 다음으로, Machine Learning Inference Pipelines(머신 러닝 유추 파이프라인)에서 Deploy(배포)를 선택하여 모델을 다운로드하고 Elasticsearch 배포에 이를 설치합니다.

배포되면 Start single-threaded(단일 스레드 시작)를 선택한 다음 + Add inference Pipeline(+ 유추 파이프라인 추가)을 선택합니다. 그리고 나서 다음 작업을 수행합니다.

  1. 신규 또는 기존 파이프라인을 선택합니다
  2. 이름을 지정합니다
  3. 마지막으로, 훈련된 머신 러닝 모델 선택 드롭다운에서 ELSER Text Expansion(ELSER 텍스트 확장)을 선택한 다음 Continue(계속)를 클릭합니다.

이제, ELSER Text Expansion(ELSER 텍스트 확장)을 적용하려는 필드를 선택해야 합니다. 소스 필드로 "title"과 "main"을 선택한 다음 Add(추가)를 선택합니다.

다음으로, Continue(계속)를 클릭합니다.

Continue(계속)를 클릭한 다음, Create pipeline(파이프라인 생성)을 클릭하여 Test your pipeline results(파이프라인 결과 테스트) 단계를 건너뜁니다.

이제 파이프라인을 생성했으므로, 오른쪽 상단에서 Crawl(크롤링)을 선택한 다음 Crawl all domains on this index(이 인덱스의 모든 도메인 크롤링)를 선택합니다.

이제 원하는 정보를 검색하실 차례입니다. 이를 수행하는 데 권장되는 두 가지 방법은 다음과 같습니다.

  • 개발자 도구 사용
  • 검색 애플리케이션 기능을 애플리케이션의 엔드포인트로 활용

각각을 사용하는 경우:

  • 검색을 구현하는 개발자(예: 웹 애플리케이션용)인 경우 개발자 도구를 사용하여 색인된 데이터의 검색 결과를 테스트하고 세분화해야 합니다.
  • 검색 결과를 반환할 수 있는 자체 애플리케이션으로부터 검색 요청을 보낼 수 있는 검색 엔드포인트를 만들려면, 검색 애플리케이션 기능을 사용해야 합니다.

개발자 도구 및 검색 애플리케이션 기능을 활용하는 방법을 간략히 살펴보려면, 아래의 짧은 동영상 두 개를 확인해 보세요. 이 가이드 투어를 탐색하여 그 방법을 알아볼 수도 있습니다.


다음 단계

Elastic Cloud를 사용하여 데이터에 대한 시맨틱 검색을 설정하는 데 시간을 내주셔서 감사합니다. Elastic과 함께 하는 여정을 시작하면서, 환경 전체에 배포할 때 사용자로서 관리해야 하는 운영, 보안 및 데이터 구성 요소를 이해해야 합니다.