Docs Menu
Docs Home
/ / /
PHP 라이브러리 매뉴얼
/

Atlas search 인덱스

이 페이지의 내용

  • 개요
  • 검색 인덱스 만들기
  • 검색 인덱스 나열
  • 검색 인덱스 업데이트
  • 검색 인덱스 삭제
  • 추가 정보

MongoDB Atlas Search 기능 을 사용하면 Atlas 에서 호스팅되는 컬렉션에서 전체 텍스트 검색을 수행할 수 있습니다. Atlas Search 쿼리를 수행하려면 먼저 인덱싱할 필드와 인덱스 방법을 지정하는 인덱스를 만들어야 합니다.

Atlas Search 에 학습 보려면 Atlas Search 개요를 참조하세요.

MongoDB\Collection 인스턴스 에서 다음 메서드를 사용하여 Atlas Search 인덱스를 관리 있습니다.

  • MongoDB\Collection::createSearchIndex()

  • MongoDB\Collection::createSearchIndexes()

  • MongoDB\Collection::listSearchIndexes()

  • MongoDB\Collection::updateSearchIndex()

  • MongoDB\Collection::dropSearchIndex()

참고

Atlas Search 인덱스 관리는 비동기식입니다.

MongoDB PHP 라이브러리는 Atlas Search 인덱스를 비동기적으로 관리합니다. 다음 섹션에서 설명하는 라이브러리 메서드는 서버 응답을 즉시 반환하지만 검색 인덱스에 대한 변경 사항은 배경 에서 발생하며 잠시 후까지 완료되지 않을 수 있습니다.

다음 섹션에서는 각 Atlas Search 인덱스 관리 방법을 사용하는 방법을 보여주는 코드 예제를 제공합니다.

createSearchIndex() 메서드를 사용하여 컬렉션 에 단일 Atlas Search 인덱스 를 만들거나 createSearchIndexes() 메서드를 사용하여 여러 인덱스를 동시에 만들 수 있습니다.

다음 코드 예시 에서는 단일 Atlas Search 인덱스 를 생성하는 방법을 보여줍니다.

$indexName = $collection->createSearchIndex(
['mappings' => ['dynamic' => true]],
['name' => 'mySearchIdx']
);

다음 코드 예시 에서는 여러 개의 Atlas Search 인덱스를 만드는 방법을 보여줍니다.

$indexNames = $collection->createSearchIndexes(
[
[
'name' => 'SearchIdx_dynamic',
'definition' => ['mappings' => ['dynamic' => true]],
],
[
'name' => 'SearchIdx_simple',
'definition' => [
'mappings' => [
'dynamic' => false,
'fields' => [
'title' => [
'type' => 'string',
'analyzer' => 'lucene.simple'
]
]
]
],
],
]
);

검색 인덱스 를 만든 후 컬렉션 에 대해 Atlas Search 쿼리를 수행할 수 있습니다. 학습 보려면 Atlas 문서에서 Atlas Search 쿼리 만들기 및 실행 을 참조하세요.

listSearchIndexes() 메서드를 사용하여 컬렉션 에서 Atlas Search 인덱스 배열 을 반환할 수 있습니다.

foreach ($collection->listSearchIndexes() as $indexInfo) {
echo json_encode($indexInfo), PHP_EOL;
}

updateSearchIndex() 메서드를 사용하여 Atlas Search 인덱스 를 업데이트 할 수 있습니다. 이 메서드를 사용하여 검색 인덱스 의 이름을 변경하거나 인덱스 구성을 변경할 수 있습니다.

다음 코드는 title 필드 에서 간단한 분석기 를 사용하도록 검색 인덱스 를 업데이트 하는 방법을 보여줍니다.

$collection->updateSearchIndex(
'mySearchIdx',
['mappings' => [
'dynamic' => false,
'fields' => [
'title' => [
'type' => 'string',
'analyzer' => 'lucene.simple'
]
]
]]
);

dropSearchIndex() 메서드를 사용하여 컬렉션 에서 Atlas Search 인덱스 를 제거 할 수 있습니다.

다음 코드는 mySearchIdx 이라는 Atlas Search 인덱스 를 삭제 하는 방법을 보여줍니다.

$collection->dropSearchIndex('mySearchIdx');

인덱스 관리 방법을 보여주는 실행 가능한 예제를 보려면 인덱스를 사용하여 쿼리 최적화를 참조하세요.

Atlas Search 기능 사용 방법을 설명하는 튜토리얼을 보려면 Atlas 설명서에서 Atlas Search 시작하기를 참조하세요.

이 가이드에서 설명하는 메서드에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.

돌아가기

Multikey Indexes