in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/util/TablestoreHelper.java [308:336]
public static Document rowToDocument(Row row, String textField, String embeddingField) {
if (row == null) {
return null;
}
PrimaryKey primaryKey = row.getPrimaryKey();
String documentId = primaryKey.getPrimaryKeyColumn(0).getValue().asString();
String tenantId = primaryKey.getPrimaryKeyColumn(1).getValue().asString();
Column[] columns = row.getColumns();
Reference<String> text = new Reference<>();
Reference<float[]> embedding = new Reference<>();
Metadata metadata = columnsToMetadata(columns, (column -> {
String name = column.getName();
ColumnValue value = column.getValue();
if (textField.equals(name)) {
text.set(value.asString());
return true;
}
if (embeddingField.equals(name)) {
embedding.set(TablestoreHelper.decodeEmbedding(value.asString()));
return true;
}
return false;
}));
Document document = new Document(documentId, tenantId);
document.setText(text.get());
document.setEmbedding(embedding.get());
document.setMetadata(metadata);
return document;
}