Javascript 为Amazon DynamoDb表实现自定义排序/数据获取逻辑时出现的问题
我有一个s3 bucket,它挂接到名为“assetbucket索引”的DynamoDb表。我想使用DynamoDb作为搜索文件的索引。你们能给我一个解决以下问题的办法吗。我需要使用AmazonScriptSDK实现 我需要什么? 按资产名称搜索数据,首先获得最匹配的结果格式,然后是部分匹配的结果格式,每页限制1000条记录,然后使用延迟加载 在搜索资产名称“Tom Cruise”时,需要获得以下信息Javascript 为Amazon DynamoDb表实现自定义排序/数据获取逻辑时出现的问题,javascript,amazon-web-services,amazon-s3,amazon-dynamodb,Javascript,Amazon Web Services,Amazon S3,Amazon Dynamodb,我有一个s3 bucket,它挂接到名为“assetbucket索引”的DynamoDb表。我想使用DynamoDb作为搜索文件的索引。你们能给我一个解决以下问题的办法吗。我需要使用AmazonScriptSDK实现 我需要什么? 按资产名称搜索数据,首先获得最匹配的结果格式,然后是部分匹配的结果格式,每页限制1000条记录,然后使用延迟加载 在搜索资产名称“Tom Cruise”时,需要获得以下信息 准确匹配结果第一名“汤姆·克鲁斯”-(匹配900条记录) 然后搜索Tom*-(匹配900条记录
this.searchByAssetName = function(assetName, indexName, callbackFn){
if(dynDbConn !== false && typeof assetName!="undefined" && assetName != ""){
var params = {
TableName: options.table,
KeyConditionExpression: '#asset_name = :asset_name_val',
'ExpressionAttributeNames':{
'#asset_name':"assetname"
},
'ExpressionAttributeValues':{
':asset_name_val':{'S':assetName}
}
};
if(typeof indexName!="undefined" && indexName!=""){
params.IndexName = indexName;
}
dynDbConn.query(params, function(err, data) {
if (err) {
if(typeof err.message !="undefined"){
this.passErrorMessage(err.message);
}
if(typeof callbackFn == "function"){
callbackFn(err, data, params);
}
} else {
if(typeof callbackFn == "function"){
callbackFn(err, data, params);
}
}
});
}
};
this.searchByAssetName = function(assetName, indexName, callbackFn){
if(dynDbConn !== false && typeof assetName!="undefined" && assetName != ""){
var params = {
TableName: options.table,
KeyConditionExpression: '#asset_name = :asset_name_val',
'ExpressionAttributeNames':{
'#asset_name':"assetname"
},
'ExpressionAttributeValues':{
':asset_name_val':{'S':assetName}
}
};
if(typeof indexName!="undefined" && indexName!=""){
params.IndexName = indexName;
}
dynDbConn.query(params, function(err, data) {
if (err) {
if(typeof err.message !="undefined"){
this.passErrorMessage(err.message);
}
if(typeof callbackFn == "function"){
callbackFn(err, data, params);
}
} else {
if(typeof callbackFn == "function"){
callbackFn(err, data, params);
}
}
});
}
};