in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/knowledge/KnowledgeStoreImpl.java [589:622]
private List<String> getTenantIds(String documentId) {
PrimaryKey start = PrimaryKeyBuilder.createPrimaryKeyBuilder()
.addPrimaryKeyColumn(Document.DOCUMENT_DOCUMENT_ID, PrimaryKeyValue.fromString(documentId))
.addPrimaryKeyColumn(Document.DOCUMENT_TENANT_ID, PrimaryKeyValue.INF_MIN)
.build();
PrimaryKey end = PrimaryKeyBuilder.createPrimaryKeyBuilder()
.addPrimaryKeyColumn(Document.DOCUMENT_DOCUMENT_ID, PrimaryKeyValue.fromString(documentId))
.addPrimaryKeyColumn(Document.DOCUMENT_TENANT_ID, PrimaryKeyValue.INF_MAX)
.build();
TablestoreHelper.GetRangeIterator<Document> iterator = new TablestoreHelper.GetRangeIterator<>(
client,
tableName,
row -> TablestoreHelper.rowToDocument(row, textField, embeddingField),
start,
end,
null,
Order.ASC,
-1L,
-1,
Arrays.asList(Document.DOCUMENT_TENANT_ID, Document.DOCUMENT_DOCUMENT_ID)
);
List<Document> documents = CollectionUtil.toList(iterator);
List<String> tenantIds = new ArrayList<>();
for (Document document : documents) {
if (document != null && document.getTenantId() != null) {
tenantIds.add(document.getTenantId());
}
}
if (tenantIds.size() > 1) {
log.warn("document id:{} has more than one tenant id:{}", documentId, tenantIds);
}
return tenantIds;
}