addFunctionField()
既存の Milvus 3.0 collection に、関数に基づく field と明示的に設定されたそのバインド index を追加します。
public void addFunctionField(AddFunctionFieldReq request)
Request Syntax
AddFunctionFieldReq.builder()
.collectionName(collectionName)
.databaseName(databaseName)
.fieldName(fieldName)
.description(description)
.dataType(dataType)
.maxLength(maxLength)
.dimension(dimension)
.elementType(elementType)
.maxCapacity(maxCapacity)
.isNullable(isNullable)
.defaultValue(defaultValue)
.enableAnalyzer(enableAnalyzer)
.analyzerParams(analyzerParams)
.enableMatch(enableMatch)
.typeParams(typeParams)
.function(function)
.indexParam(indexParam)
.build();
BUILDER METHODS:
-
collectionName(String collectionName)対象の collection の名前です。
-
databaseName(String databaseName)database の名前です。省略した場合、現在の database がデフォルトで使用されます。
-
fieldName(String fieldName)追加する関数出力 field の名前です。
-
description(String description)新しい field の人間が読める説明です。
-
dataType(DataType dataType)新しい関数出力 field のデータ型です。
-
maxLength(Integer maxLength)可変長 field の最大長です。
-
dimension(Integer dimension)vector field の次元数です。
-
elementType(DataType elementType)array field の要素型です。
-
maxCapacity(Integer maxCapacity)array field 内の要素の最大数です。
-
isNullable(Boolean isNullable)field が null 値を受け入れるかどうかです。
-
defaultValue(Object defaultValue)scalar field のデフォルト値です。
-
enableAnalyzer(Boolean enableAnalyzer)field でテキスト解析を有効にするかどうかです。
-
analyzerParams(Map<String, Object> analyzerParams)field の analyzer 設定です。
-
enableMatch(Boolean enableMatch)field でテキストマッチを有効にするかどうかです。
-
typeParams(Map<String, String> typeParams)追加の field 型パラメータです。
-
function(CreateCollectionReq.Function function)関数定義です。
fieldNameに一致する出力をちょうど 1 つ持っている必要があります。 -
indexParam(IndexParam indexParam)バインド index の設定です。同じ field を使用し、
NoneまたはAUTOINDEX以外の明示的な index type を使用する必要があります。
RETURNS:
void
この操作は値を返しません。
EXCEPTIONS:
-
MilvusClientException
リクエスト検証、トランスポート、またはサーバー実行が失敗した場合に発生します。正確な失敗理由については例外メッセージを確認してください。
Example
CreateCollectionReq.Function bm25Function = CreateCollectionReq.Function.builder()
.name("bm25")
.functionType(FunctionType.BM25)
.inputFieldNames(Collections.singletonList("text"))
.outputFieldNames(Collections.singletonList("sparse"))
.build();
IndexParam sparseIndex = IndexParam.builder()
.fieldName("sparse")
.indexName("sparse_idx")
.indexType(IndexParam.IndexType.SPARSE_INVERTED_INDEX)
.metricType(IndexParam.MetricType.BM25)
.build();
client.addFunctionField(AddFunctionFieldReq.builder()
.collectionName("books")
.fieldName("sparse")
.dataType(DataType.SparseFloatVector)
.function(bm25Function)
.indexParam(sparseIndex)
.build());