LoginSignup
4
2

More than 3 years have passed since last update.

IBM Watson Discovery 便利プログラム

Last updated at Posted at 2020-12-05

コレクション内のすべての文書を削除する

collectionに文書を入れていろいろ試したあと、いったんすべての文書を消してまた何かしたい...。
かといってcollectionを再作成すると、collectionIDとかconfigIDとかが変わってしまうのは困る!
ということがあったのでcollection内のすべての文書を削除するプログラムをTypeScriptで作成してみました。

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

仕様

  • 資格情報の入力はプログラム実行後に画面から入力
  • 入力する資格情報は
    • url
    • APIkey
    • environmentID
    • collectionID
  • Discovery APIバージョンは固定値(2019-04-30)
  • 一度に取得できるDocumentIDは10000まで
  • 削除できる文書数に限りはない

前提条件

  1. IBM Watson Discovery のコレクションに文書がある
  2. Node,npm,git(ソースclone用)がインストール済み

環境

  • Node v10.16.3
  • npm 6.14.9
  • git version 2.23.0.windows.1
  • Windows 10 Pro

フォルダ構成

ibmcloud-discovery/(root)
 ├─ dist/
 │   ├─ src/
 │   └─ app.js 
 ├─ node_modules/
 ├─ src/
 │   ├─ api/
 │   │   └─ Discovery.ts
 │   ├─ DeleteDocuments.ts
 │   ├─ QueryCollection.ts
 │   └─ UserInput.ts
 ├─ .gitignore
 ├─ app.ts
 ├─ package-lock.json
 ├─ package.json
 ├─ RRADME.md
 └─ tsconfig.json

dist/ tsをコンパイルした後のjsファイルが格納されている。プログラム実行時はdist/app.jsを実行する。
Discovery.ts DiscoveryへのAPIコール処理を行うtsファイル
DeleteDocuments.ts/ 取得した複数のDocumentIDを使用し繰り返し削除を行うtsファイル
QueryCollection.ts/ DocumentIDの取得を行うtsファイル
UserInput.ts/ プログラム実行後の資格情報入力を促す処理を行うtsファイル
app.ts/ メインのTypeScriptファイル

フローチャート

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

flow.png

最後に

他にも、ああいう便利プログラムが欲しい!!などあれば、できる限り作っていきたいと思います。

4
2
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
4
2