Skip to content

Commit 13d3b9f

Browse files
authored
Support multi-language analyzer (#1403)
Signed-off-by: yhmo <yihua.mo@zilliz.com>
1 parent 2cec3f0 commit 13d3b9f

3 files changed

Lines changed: 7 additions & 0 deletions

File tree

sdk-core/src/main/java/io/milvus/v2/service/collection/request/AddFieldReq.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public class AddFieldReq {
5858

5959
// If a specific field, such as maxLength, has been specified, it will override the corresponding key's value in typeParams.
6060
private Map<String, String> typeParams;
61+
Map<String, Object> multiAnalyzerParams; // for multi‑language analyzers
6162

6263
AddFieldReq setDefaultValue(Object obj) {
6364
enableDefaultValue = true; // automatically set this flag

sdk-core/src/main/java/io/milvus/v2/service/collection/request/CreateCollectionReq.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ public CollectionSchema addField(AddFieldReq addFieldReq) {
156156
.enableMatch(addFieldReq.getEnableMatch())
157157
.analyzerParams(addFieldReq.getAnalyzerParams())
158158
.typeParams(addFieldReq.getTypeParams())
159+
.multiAnalyzerParams(addFieldReq.getMultiAnalyzerParams())
159160
.build();
160161
if (addFieldReq.getDataType().equals(DataType.Array)) {
161162
if (addFieldReq.getElementType() == null) {
@@ -221,6 +222,7 @@ public static class FieldSchema {
221222

222223
// If a specific field, such as maxLength, has been specified, it will override the corresponding key's value in typeParams.
223224
private Map<String, String> typeParams;
225+
Map<String, Object> multiAnalyzerParams; // for multi‑language analyzers
224226
}
225227

226228
@Data

sdk-core/src/main/java/io/milvus/v2/utils/SchemaUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ public static FieldSchema convertToGrpcFieldSchema(CreateCollectionReq.FieldSche
106106
String params = JsonUtils.toJson(fieldSchema.getAnalyzerParams());
107107
typeParams.put("analyzer_params", params);
108108
}
109+
if (fieldSchema.getMultiAnalyzerParams() != null) {
110+
String params = JsonUtils.toJson(fieldSchema.getMultiAnalyzerParams());
111+
typeParams.put("multi_analyzer_params", params);
112+
}
109113

110114
List<KeyValuePair> typeParamsList = AssembleKvPair(typeParams);
111115
if (CollectionUtils.isNotEmpty(typeParamsList)) {

0 commit comments

Comments
 (0)