You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by fm...@apache.org on 2026/03/27 08:46:08 UTC
(camel) 02/04: Add missing configurable properties to Milvus helpers
This is an automated email from the ASF dual-hosted git repository.
fmariani pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 0fffdc33ac1bc156b77de9bd13fea00b6fe35317
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Mar 23 21:11:06 2026 +0100
Add missing configurable properties to Milvus helpers
- MilvusHelperSearch: add offset and consistencyLevel properties
(consistencyLevel was hardcoded to STRONG)
- MilvusHelperCreateIndex: add indexName property
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../milvus/helpers/MilvusHelperCreateIndex.java | 23 +++++++++++++---
.../milvus/helpers/MilvusHelperSearch.java | 31 +++++++++++++++++++++-
2 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperCreateIndex.java b/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperCreateIndex.java
index 3f749e802c19..492aded93a52 100644
--- a/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperCreateIndex.java
+++ b/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperCreateIndex.java
@@ -32,6 +32,7 @@ public class MilvusHelperCreateIndex implements Processor {
private String collectionName = "default_collection";
private String vectorFieldName = "embedding";
+ private String indexName;
private String indexType = "IVF_FLAT";
private String metricType = "COSINE";
private String extraParam = "{\"nlist\": 128}";
@@ -41,14 +42,19 @@ public class MilvusHelperCreateIndex implements Processor {
IndexType idxType = IndexType.valueOf(indexType);
MetricType metric = MetricType.valueOf(metricType);
- CreateIndexParam param = CreateIndexParam.newBuilder()
+ CreateIndexParam.Builder builder = CreateIndexParam.newBuilder()
.withCollectionName(collectionName)
.withFieldName(vectorFieldName)
.withIndexType(idxType)
.withMetricType(metric)
.withExtraParam(extraParam)
- .withSyncMode(Boolean.TRUE)
- .build();
+ .withSyncMode(Boolean.TRUE);
+
+ if (indexName != null && !indexName.isEmpty()) {
+ builder.withIndexName(indexName);
+ }
+
+ CreateIndexParam param = builder.build();
exchange.getIn().setBody(param);
exchange.getIn().setHeader(MilvusHeaders.ACTION, MilvusAction.CREATE_INDEX);
@@ -70,6 +76,17 @@ public class MilvusHelperCreateIndex implements Processor {
this.vectorFieldName = vectorFieldName;
}
+ public String getIndexName() {
+ return indexName;
+ }
+
+ /**
+ * @param indexName the name to assign to the index (e.g., {@code myVectorIndex})
+ */
+ public void setIndexName(String indexName) {
+ this.indexName = indexName;
+ }
+
public String getIndexType() {
return indexType;
}
diff --git a/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperSearch.java b/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperSearch.java
index e13e184f8bec..20d66307d317 100644
--- a/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperSearch.java
+++ b/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/helpers/MilvusHelperSearch.java
@@ -36,6 +36,8 @@ public class MilvusHelperSearch implements Processor {
private String collectionName = "default_collection";
private String outputFields = "content";
private String limit = "10";
+ private String offset = "0";
+ private String consistencyLevel = "STRONG";
private String filter;
@SuppressWarnings("unchecked")
@@ -55,12 +57,16 @@ public class MilvusHelperSearch implements Processor {
}
}
+ long searchOffset = Long.parseLong(offset);
+ ConsistencyLevelEnum consistency = ConsistencyLevelEnum.valueOf(consistencyLevel);
+
SearchSimpleParam.Builder builder = SearchSimpleParam.newBuilder()
.withCollectionName(collectionName)
.withVectors(queryEmbedding)
.withLimit(searchLimit)
+ .withOffset(searchOffset)
.withOutputFields(fields)
- .withConsistencyLevel(ConsistencyLevelEnum.STRONG);
+ .withConsistencyLevel(consistency);
if (filter != null && !filter.isEmpty()) {
builder.withFilter(filter);
@@ -103,6 +109,29 @@ public class MilvusHelperSearch implements Processor {
this.limit = limit;
}
+ public String getOffset() {
+ return offset;
+ }
+
+ /**
+ * @param offset the number of results to skip as a string (e.g., {@code 0}, {@code 10})
+ */
+ public void setOffset(String offset) {
+ this.offset = offset;
+ }
+
+ public String getConsistencyLevel() {
+ return consistencyLevel;
+ }
+
+ /**
+ * @param consistencyLevel the Milvus {@link io.milvus.common.clientenum.ConsistencyLevelEnum} enum name (e.g.,
+ * {@code STRONG}, {@code BOUNDED}, {@code EVENTUALLY})
+ */
+ public void setConsistencyLevel(String consistencyLevel) {
+ this.consistencyLevel = consistencyLevel;
+ }
+
public String getFilter() {
return filter;
}