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