Docs Menu
Docs Home
/ / /
Kotlin Sync ドライバー
/ /

Atlas Search と Vector Search インデックス

項目一覧

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

Kotlin Sync ドライバーを使用すると、 Atlas SearchおよびAtlas Vector Searchインデックスをプログラムで管理できます。

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

Atlas Vector Search を使用すると、MongoDB Atlas に保存されているベクトル埋め込みに対してセマンティック検索を実行できます。 ベクトル検索インデックスは、クエリ対象のベクトル埋め込みと、データを事前フィルタリングするために使用するブール値、日付、ObjectId、数値、string、または UUID 値のインデックスを定義します。

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

  • createSearchIndex()

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

注意

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

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

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

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

val index = Document("mappings", Document("dynamic", true))
collection.createSearchIndex("mySearchIdx", index)

複数の検索インデックスまたはベクトル検索インデックスを作成するには、 SearchIndexModel を作成する必要があります 各インデックスの インスタンス。

次のコード例は、1 回の呼び出しで Atlas Search インデックスと Vector Search インデックスを作成する方法を示しています。

val searchIdxMdl = SearchIndexModel(
"searchIdx",
Document("analyzer", "lucene.standard").append(
"mappings", Document("dynamic", true)
),
SearchIndexType.search()
)
val vectorSearchIdxMdl = SearchIndexModel(
"vsIdx",
Document(
"fields",
listOf(
Document("type", "vector")
.append("path", "embeddings")
.append("numDimensions", 1536)
.append("similarity", "dotProduct")
)
),
SearchIndexType.vectorSearch()
)
collection.createSearchIndexes(
listOf(searchIdxMdl, vectorSearchIdxMdl)
)

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

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

次のコード例は、コレクション内の検索インデックスのリストを出力する方法を示しています。

val results = collection.listSearchIndexes()
results.forEach { result ->
println(result)
}

updateSearchIndex() を使用できます Atlas Search インデックスを更新する方法。

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

val newIndex = Document("mappings", Document("dynamic", true))
collection.updateSearchIndex("<index to update>", newIndex)

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

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

collection.dropIndex("<index to delete>")

MongoDB Atlas Search の詳細については、「 Atlas Search インデックス」のドキュメントを参照してください。

戻る

複合インデックス