メインコンテンツまでスキップ

CreateIndex()

この操作は、指定されたフィールドにインデックスを作成します。作成されたインデックスは、ベクトル類似検索またはスカラー フィルタリングを高速化します。

go
func (c *Client) CreateIndex(ctx context.Context, option CreateIndexOption, callOptions ...grpc.CallOption) (*CreateIndexTask, error)

リクエスト構文​

go
option := milvusclient.NewCreateIndexOption(collectionName, fieldName, index).
WithIndexName(indexName)

result, err := client.CreateIndex(ctx, option)

パラメータ:

  • collectionName (string)

    対象コレクションの名前です。

  • fieldName (string)

    フィールドの名前です。

  • インデックス (index.Index)

    インデックスです。

オプションメソッド:

  • WithIndexName(indexName string)

    インデックス名を設定します。

戻り値の型:

*CreateIndexTask, error

戻り値:

インデックスの構築が完了するまで待機するために使用できる CreateIndexTask を返します。操作が失敗した場合は、error を返します。

例外:

  • error

    失敗の詳細については err != nil を確認してください。

例​

go
import (
"context"

"github.com/milvus-io/milvus/client/v2/entity"
"github.com/milvus-io/milvus/client/v2/index"
"github.com/milvus-io/milvus/client/v2/milvusclient"
)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

cli, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
Address: milvusAddr,
})
if err != nil {
// handle err
}

index := index.NewHNSWIndex(entity.COSINE, 32, 128)
indexTask, err := cli.CreateIndex(ctx, milvusclient.NewCreateIndexOption("my_collection", "vector", index))
if err != nil {
// handler err
}

err = indexTask.Await(ctx)
if err != nil {
// handler err
}