1
0

More than 1 year has passed since last update.

Watson Discovery便利プログラム ~Export編~

Last updated at Posted at 2021-09-29

コレクション内の情報をエクスポートする

collectionの内容をエクスポートしてほかのコレクションに適用したりコレクションの情報を別で保存しておきたいときがあると思います。(私があったので記事を書いているのですが…)
ということで、コレクションの情報をエクスポートするプログラムをTypescriptで作りました。
エクスポートする情報は以下です。

  • コンフィグ
  • ドキュメント
  • トレーニングデータ
  • エクスパンション(同義語)

ソースはgitにあります。
Qiitaの記事ではプログラムの仕様や概要を説明します。利用方法はgitをご覧ください。
ご利用は自己責任でお願いいたします。
改善点や不明点等ございましたら連絡いただけますと嬉しいです。

環境

  • Windows10
  • Node v14.17.0
  • npm 7.15.1

仕様

  • 資格情報はプログラム実行前にAuthentication.yamlに記載しておく
  • ドキュメントのエクスポートは1万件まで

フォルダ構成

ibmcloud-discovery-export/(root)
 ├─ dist/
 ├─ node_modules/
 ├─ src/
 │   ├─ api/
 │   │   └─ Discovery.ts
 |   ├─ interface/
 │   │   └─ index.ts
 │   ├─ ConfigurationDetails.ts
 │   ├─ ExpansionList.ts
 │   ├─ Loading.ts
 │   ├─ QueryCollection.ts
 │   ├─ TrainingList.ts
 │   └─ UserInput.ts
 ├─ .gitignore
 ├─ app.ts
 ├─ Authentication.yaml
 ├─ package-lock.json
 ├─ package.json
 ├─ RRADME.md
 └─ tsconfig.json

dist/ tsをコンパイルした後のjsファイルが格納されている。プログラム実行時はdist/app.jsを実行する。
Discovery.ts DiscoveryへのAPIコール処理を行うtsファイル
ConfigurationDetails.tsコンフィグの取得を行うtsファイル
ExpansionList.ts エクスパンション(同義語)の取得を行うtsファイル
TrainingList.ts トレーニングの取得を行うtsファイル
QueryCollection.ts ドキュメントの取得を行うtsファイル
UserInput.ts プログラム実行後の入力を促す処理を行うtsファイル
app.ts メインのTypeScriptファイル
Authentication.yaml Discoveryの資格情報と出力名を入力しておくyamlファイル

フローチャート

大まかな流れをフローチャートで書きました。
綺麗なものではないですがご勘弁ください。
discoveryExport.jpg

終わりに

エクスポートをしてもインポートができなければあまり意味がありません。。。。
大丈夫です!!インポートプログラムも近々で作成予定です。

2021年10月13日追記
Discoveryにて既存プランの廃止と新プランの発表がされました。
それに伴い上記のエクスポートで使用しているAPI(v1)は新プランでは
使用されなくなりました。(新プランではAPIはv2)
その為インポートプログラムの開発と中止しています。申し訳ございません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0