Skip to content

Commit f5c9cfa

Browse files
committed
Set search vector as array of float[] insteand of List as string
1 parent 578c733 commit f5c9cfa

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

data/semantickernel-data-oracle/src/main/java/com/microsoft/semantickernel/data/jdbc/oracle/OracleVectorStoreQueryProvider.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,11 @@ public <Record> VectorSearchResults<Record> search(String collectionName, List<F
450450
int parameterIndex = 1;
451451
// if a vector was provided for similarity search set the value of the vector
452452
if (vector != null) {
453-
statement.setString(parameterIndex++,
454-
objectMapper.writeValueAsString(vector));
453+
float[] arrayVector = new float[vector.size()];
454+
for (int i = 0; i < vector.size(); i++){
455+
arrayVector[i] = vector.get(i).floatValue();
456+
}
457+
statement.setObject(parameterIndex++, arrayVector, OracleTypes.VECTOR_FLOAT32);
455458
}
456459
// set all parameters.
457460
for (Object parameter : parameters) {
@@ -492,7 +495,7 @@ public <Record> VectorSearchResults<Record> search(String collectionName, List<F
492495
records.add(new VectorSearchResult<>(mapper.mapStorageModelToRecord(rs, getRecordOptions), score));
493496
}
494497
}
495-
} catch (SQLException | JsonProcessingException e) {
498+
} catch (SQLException e) {
496499
throw new SKException("Search failed", e);
497500
}
498501

0 commit comments

Comments
 (0)