Docs Menu
Docs Home
/ / /
Scala
/

Atlas Search インデックス

項目一覧

  • Overview
  • 検索インデックスを作成
  • 検索インデックスをリストする
  • 検索インデックスをアップデートする
  • 検索インデックスを削除する
  • 詳細情報

Atlas Searchを使用すると、MongoDB Atlas でホストされているコレクションに対して全文検索を実行できます。 Atlas Search インデックスは、検索の動作とインデックスを作成するフィールドを指定します。

コレクションに対して次のメソッドを呼び出して、Atlas Search インデックスを管理できます。

  • createSearchIndex()

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

注意

Atlas Search インデックス マネジメントのメソッドは非同期で実行されるため、正常に実行されたことを確認する前に戻る可能性があります。 インデックスの現在のステータスを確認するには、 listSearchIndexes()メソッドを呼び出します。

次のセクションでは、前述の各メソッドの使用方法を示すコード例を示します。

createSearchIndex() メソッドと createSearchIndexes() メソッドを使用して、1 つ以上の Atlas Search インデックスを作成できます。

これらのメソッドを使用して Atlas Vector Search インデックス を作成することもできます。 Atlas Vector Search を使用すると、MongoDB Atlas に保存されているベクトル埋め込みに対してセマンティック検索を実行できます。 この機能の詳細については、「 Atlas Vector Search の概要 」を参照してください。

次のコード例は、Atlas Search インデックスの作成方法を示しています。

val index = Document("mappings" -> Document("dynamic" -> true))
collection.createSearchIndex("<index name>", index)
.subscribe((result: String) => ())

次のコード例は、複数のインデックスを作成する方法を示しています。作成されたインデックスにデフォルト名を割り当てる createSearchIndex() メソッドとは異なり、createSearchIndexes() メソッドを使用する場合は、各インデックスのインデックス名を指定する必要があります。

val indexOne = SearchIndexModel("<first index name>", Document("mappings" -> Document("dynamic" -> true, "fields" -> Document("field1" -> Document("type" -> "string")))))
val indexTwo = SearchIndexModel("<second index name>", Document("mappings" -> Document("dynamic" -> false, "fields" -> Document("field2" -> Document("type" -> "string")))))
collection.createSearchIndexes(List(indexOne, indexTwo))
.subscribe((result: String) => ())

Atlas Search インデックスの定義に使用される構文の詳細については、Atlas マニュアルの「 Atlas Search インデックス構文規則の確認 」マニュアルを参照してください。

listSearchIndexes() メソッドを使用すると、コレクション内のすべての Atlas Search インデックスを返すことができます。

次のコード例は、 listSearchIndexes() メソッドによって返される Observable をサブスクライブして、コレクション内の検索インデックスのリストを印刷する方法を示しています。

collection.listSearchIndexes()
.subscribe((result: Document) => println(result.toJson()))
{"id": "...", "name": "<index name 1>", "type": "search", "status": "READY", "queryable": true, ... }
{"id": "...", "name": "<index name 2>", "type": "search", "status": "READY", "queryable": true, ... }

Atlas Searchインデックス を更新するには、updateSearchIndex() メソッドを使用します。

次のコードは、検索インデックスを更新する方法を示しています。

val updateIndex = Document("mappings" -> Document("dynamic" -> false))
collection.updateSearchIndex("<index to update>", updateIndex)
.subscribe((result: Unit) => ())

Atlas Searchインデックスを削除するには、dropSearchIndex() メソッドを使用します。

次のコードは、コレクションから検索インデックスを削除する方法を示しています。

collection.dropSearchIndex("<index name>")
.subscribe((result: Unit) => ())

MongoDB Atlas Search の詳細については、 Atlas Search のドキュメント を参照してください。

このガイドで言及されているメソッドとタイプの詳細については、次のAPIドキュメントを参照してください。

戻る

Multikey