searchVectors method

Future<SearchVectorsOutputDC> searchVectors({
  1. required String tableName,
  2. required String indexName,
  3. required List<num> searchVector,
  4. required int topK,
  5. Map<String, String>? expressionAttributeNames,
  6. Map<String, dynamic>? expressionAttributeValues,
  7. String? projectionExpression,
  8. ReturnConsumedCapacity? returnConsumedCapacity,
  9. String? searchConditionExpression,
})

Performs a vector similarity search on a vector index by delegating to DynamoDB.searchVectors().

Implementation

Future<SearchVectorsOutputDC> searchVectors({
  required String tableName,
  required String indexName,
  required List<num> searchVector,
  required int topK,
  Map<String, String>? expressionAttributeNames,
  Map<String, dynamic>? expressionAttributeValues,
  String? projectionExpression,
  ReturnConsumedCapacity? returnConsumedCapacity,
  String? searchConditionExpression,
}) async {
  final svr = await dynamoDB.searchVectors(
    tableName: tableName,
    indexName: indexName,
    searchVector: searchVector.map(toAttributeValue).toList(),
    topK: topK,
    expressionAttributeNames: expressionAttributeNames,
    expressionAttributeValues:
        expressionAttributeValues?.fromJsonToAttributeValue(),
    projectionExpression: projectionExpression,
    returnConsumedCapacity: returnConsumedCapacity,
    searchConditionExpression: searchConditionExpression,
  );

  return SearchVectorsOutputDC(
    consumedCapacity: svr.consumedCapacity,
    searchResults: svr.searchResults
            ?.map((e) => SearchResultDC(
                  item: e.item.toJson() ?? {},
                  score: e.score,
                ))
            .toList() ??
        [],
  );
}