AWS CloudSearchインデックスには約150万件のドキュメントがあります。それは私にあまりにも多くの費用がかかっており、私はそのサービスから移行したいと考えています。インデックスからドキュメントをダウンロードまたはエクスポートする方法がわかりません。出来ますか?AWS CloudSearchエクスポート/データのダウンロード
5
A
答えて
1
Amazonは(まだ)Cloudsearchドメインからすべてのデータをエクスポートする方法を提供していませんが、これを行うためのユーティリティを書くのは難しくありません。
3
同様の必要性のために、ファイルを生成するためにCloudSearchドメイン全体(10000以上の制限)をブラウズする必要がありました。
私はこのように、それを処理するためにnodeJSスクリプトを使用:
var AWS = require('aws-sdk');
var fs = require('fs');
AWS.config.update({
accessKeyId: '<yourAccessKey>', secretAccessKey: '<yourSecretAccessKey>',
region: '<yourRegion>',endpoint: '<YourSearchDomainEndPoint>'
});
var batchSize = 5000; //Number of item on every search... Max:10000
var compteur = 0;
var result = [];
var params = {query:""};
var cloudsearchdomain = new AWS.CloudSearchDomain(params);
function launchSearch(theContext) {
process.stdout.write('Launch AWS.CloudSearch ');
if (theContext==null) {
process.stdout.write('initial request ... ');
} else {
var current = (theContext.start/batchSize) +2 ;
var totalRun = (Math.ceil(theContext.found/batchSize * 10)/10) + 1;
process.stdout.write('(' + current + '/' + totalRun + ') ... ');
}
params = {
query:"-aQueryStringImpossibleToFind",
cursor: (theContext==null)?"initial":theContext.cursor,
size:batchSize
};
var forCursor = new AWS.CloudSearchDomain(params);
forCursor.search(params, function(err, data) {
if (err) {
console.log("Failed with params :");
console.log(err);
} else {
resultMessage = data;
compteur = compteur + data.hits.hit.length;
for(var i=0;i<data.hits.hit.length;i++){
result.push(data.hits.hit[i]
});
}
}
process.stdout.write(resultMessage.hits.hit.length + ' hits found.');
if (resultMessage.hits.hit.length==0) {
process.stdout.write(' Done.\n\nLet\'s create thte file...\n');
writeTheFile(result);
} else {
process.stdout.write('\n');
var myContext = {};
myContext.cursor = resultMessage.hits.cursor;
myContext.start = resultMessage.hits.start;
myContext.found = resultMessage.hits.found;
myContext.retrived = resultMessage.hits.hit.length;
launchSearch(myContext);
}
});
}
function writeTheFile(myResult) {
fs.writeFile(process.argv[2], JSON.stringify(myResult), function(err) {
if(err) {
return console.log(err);
}
});
process.stdout.write("DONE : File '"+ process.argv[2] + "' generated (" + compteur + " elements).\n");
}
/*Check parameters*/
if (!process.argv[2]) {
//console.log(process.argv);
process.stdout.write('ERROR : the output filename is expected as argumment.\n');
process.exit();
} else {
launchSearch();
}
このスクリプトは、コマンドラインから呼び出さなければなりません:ノードscript.js fileToCreate.json
注:Iドン」これが1.5百万のドキュメントの検索ドメインで正しく動作するかどうかはわかりません。私が予測するリスクはJSON可変サイズです。ですから、このスクリプトは適合させなければなりません(おそらく100,000文書ごとにファイルを書きますか?)。
ネクロス
関連する問題
- 1. AWS Cloudsearch doc upload url
- 2. aws cloudsearchでのカスタム検索
- 3. CloudSearch for s3 for AWSセッショントークン
- 4. AWS Cloudsearch上の前のカーソルを取得
- 5. Python AWSラムダ関数 - DynamoDB to CloudSearch
- 6. AWS ElasticsearchとAWS CloudSearchの違いは何ですか?
- 7. エクスポートデータ
- 8. AWS Cloudsearch電子メールの問い合わせ
- 9. AWS CloudSearch:1ドメイン内の異なるドキュメントですか?
- 10. kafkaローカルシステムのインポート/エクスポートデータ
- 11. Google Site SearchをAWS CloudSearchに置き換える
- 12. CLIを使用したAWS CloudSearchリクエストが無効なJavaScriptオブジェクトエラー
- 13. AWS CloudSearch - 私はNode.jsの中にラムダ関数から私のAWS CloudSearchドメインで検索を行っておりますJSON形式
- 14. Open Excelファイルとエクスポートデータ
- 15. エクスポートデータと固定データテーブル
- 16. Laravel AWSダウンロード
- 17. インポートとエクスポートデータのMDFのSQLServer
- 18. ロード形式のエクスポートデータは
- 19. エクスポートデータ: - "データ" と "CALC" の式が
- 20. AWS CloudSearchのインデックスフィールドからすべてのリテラル値を取得する方法
- 21. PHP v2 SDKを使用してAWS CloudSearchのファセットをリクエストする方法は?
- 22. Cloudsearch日付範囲
- 23. CloudSearchでのワイルドカードの検索
- 24. AWS CloudSearchアップロードJSON:値タグを配列またはオブジェクトにできません
- 25. AWS S3 Java SDK - ファイルヘルプをダウンロード
- 26. AWS S3アップロード、ダウンロード、アップロードのみの権限
- 27. SSISエクスポートデータが空白になります
- 28. AWS S3からAngular 2+のファイルをダウンロード
- 29. AWS EC2からデータのフォルダをダウンロード
- 30. C#AWS SDK PresignedのダウンロードURLが常に
これはどのバージョンのAPIですか? – adaam