Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

iKnow ツール

ドメインを作成してデータを入力するためのプライマリ iKnow インタフェースは、iKnow アーキテクトです。iKnow データを分析するための主要なインタフェースには、ObjectScript プログラムから呼び出すことが可能なクラス・オブジェクト・メソッドとプロパティを含む API を使用します。この章で説明する iKnow ツールは、iKnow 機能の管理や iKnow データのテストと検証を支援するためのものです。ここで説明するすべての機能は、iKnow API を使用して利用することもできます。

この章で説明する iKnow ツールは、以下のとおりです。

iKnow シェル・インタフェース

iKnow シェルを使用して、既存のドメインとインデックスが作成されたソースに関する情報を返すことができます。

すべての iKnow 処理は、ネームスペース内で行われます。したがって、iKnow シェルを呼び出す前に、ZNSPACE コマンドを使用して目的のネームスペースを指定する必要があります。

ターミナルから、次のようにして iKnow シェル・インタフェースを有効にできます。

USER>DO $System.iKnow.Shell()

iKnow シェル・プロンプトが返されます。iKnow シェル・プロンプトで ? を入力すると、iKnow シェル・コマンドのリストが表示されます。iKnow シェル・コマンドの後に空白と ? を入力すると、そのコマンドに関する情報が表示されます。

iKnow シェル・コマンドとオプションは、大文字と小文字が区別されるため、すべて小文字で指定する必要があります。

ソースのリスト、表示、および要約

次の iKnow シェルの例では、現在のネームスペースにある “mydomain“ という名前の既存のドメインを利用します。ドメイン “mydomain“ には 100 個のソースが含まれています。use domain mydomain コマンドは、“mydomain“ を iKnow シェルの現在のドメインにすることを指定します。list source コマンドは、現在のドメイン内のソースをリストします。既定により、list コマンドは 10 項目のページ・サイズにて、最初のページをリストします。追加のページをリストするには、以下の例で示すように、> コマンドを指定することができます。20 項目のページ・サイズに変更するには、use pagesize 20 を指定します。

show source 92 コマンドは、ソース 92 のコンテンツを文に分割してリストします。これは最初のページに 10 個の文をリストします。> コマンドを使用すれば、文の追加ページをリストすることができます。各文のテキストの前後には、文 ID と、表示される文テキストを切り詰める必要があったかどうかを示すブーリアン値が表示されます。(この例では、文のテキストに行の折り返しを追加しています。)show summary 92 6 コマンドは、ソース 92 ~ 6 の文の内容を要約し、これら 6 つの文を表示します。要約番号がソース内の文の数より大きい場合、show summary はソース内のすべての文を表示します。

SAMPLES>DO $System.iKnow.Shell()
 
Welcome to the iKnow shell
Type '?' for help
Type 'quit' to exit
 
iKnow> use domain mydomain
Current domain: mydomain (1)
iKnow> list source
 srcId          externalId
   100    :SQL:Accident:96
    99    :SQL:Accident:98
    98    :SQL:Accident:94
    97   :SQL:Accident:100
    96    :SQL:Accident:80
    95    :SQL:Accident:99
    94    :SQL:Accident:95
    93    :SQL:Accident:88
    92    :SQL:Accident:97
    91    :SQL:Incident:90
iKnow> >
 srcId         externalId
    90   :SQL:Accident:93
    89   :SQL:Accident:92
    88   :SQL:Accident:91
    87   :SQL:Accident:85
    86   :SQL:Accident:86
    85   :SQL:Accident:89
    84   :SQL:Accident:87
    83   :SQL:Accident:83
    82   :SQL:Accident:78
    81   :SQL:Accident:82
iKnow> show source 92
 sentId       sentenceValue                                                                  sentenceIsTruncated
   5090       On March 7, 2001, about 1500 Alaska standard time, a wheel/ski equipped 
              Cessna 180 airplane, N9383C, sustained substantial damage during takeoff from 
              a snow-covered area at Ophir, Alaska.                                          0
   5091       The airplane was being operated as a visual flight rules (VFR) cross-country
              personal flight to McGrath, Alaska, when the accident occurred.                0
   5092       The airplane was operated by the pilot.                                        0
   5093       The commercial certificated pilot, and the sole passenger, were not injured.   0
   5094       Visual meteorological conditions prevailed.                                    0
   5095       During a telephone conversation with the National Transportation Safety Board
              (NTSB) investigator-in-charge (IIC), on March 8, 2001, the pilot reported he
              landed near Ophir earlier in the day.                                          0
   5096       When he was planning to depart, the surface of the snow had become crusty.     0
   5097       The pilot said he began a takeoff run toward the south, but the airplane 
              did not become airborne until it was within about 50 yards from several trees. 0
   5098       During the initial climb, the left horizontal stabilizer collided with a 
              spruce tree about 25 feet above the ground.                                    0
   5099       The airplane began a descending left turn toward the ground, and collided
              with several trees while the pilot was making an emergency landing.            0
iKnow> show summary 92 6
 sentId       sentenceValue                                                                  sentenceIsTruncated
   5090       On March 7, 2001, about 1500 Alaska standard time, a wheel/ski equipped 
              Cessna 180 airplane, N9383C, sustained substantial damage during takeoff from 
              a snow-covered area at Ophir, Alaska.                                          0
   5091       The airplane was being operated as a visual flight rules (VFR) cross-country
              personal flight to McGrath, Alaska, when the accident occurred.                0
   5095       During a telephone conversation with the National Transportation Safety Board
              (NTSB) investigator-in-charge (IIC), on March 8, 2001, the pilot reported he
              landed near Ophir earlier in the day.
   5097       The pilot said he began a takeoff run toward the south, but the airplane 
              did not become airborne until it was within about 50 yards from several trees. 0
   5099       The airplane began a descending left turn toward the ground, and collided
              with several trees while the pilot was making an emergency landing.            0
   5100       The airplane received damage to the left main landing gear, the wings, 
              and the left stabilizer.                                                       0
iKnow> quit
Bye bye
 
SAMPLES>

ソースのフィルタ処理

次の iKnow シェルの例では、現在のネームスペースにある “mydomain“ という名前の既存のドメインを利用します。ドメイン “mydomain“ には 100 個のソースが含まれています。use domain mydomain コマンドは、“mydomain“ を iKnow シェルの現在のドメインにすることを指定します。list source コマンドは、現在のドメインで最初の 10 個のソースをリストします。filter source 92 94 97 as myfilter コマンドは、ソース ID で指定されたソース以外のすべてのソースを除外する “myfilter” という名前のフィルタを定義します。use filter myfilter コマンドは、“myfilter” を現在のフィルタに設定します。ここで、iKnow シェルから list source コマンドを発行すると、“myfilter“ が適用され、“myfilter“ で指定された 3 つのソースだけがリストされます。

SAMPLES>DO $System.iKnow.Shell()
 
Welcome to the iKnow shell
Type '?' for help
Type 'quit' to exit
 
iKnow> use domain mydomain
Current domain: mydomain (1)
iKnow> list source
 srcId          externalId
   100    :SQL:Accident:96
    99    :SQL:Accident:98
    98    :SQL:Accident:94
    97   :SQL:Accident:100
    96    :SQL:Accident:80
    95    :SQL:Accident:99
    94    :SQL:Accident:95
    93    :SQL:Accident:88
    92    :SQL:Accident:97
    91    :SQL:Incident:90
iKnow> filter source 92 94 97 as myfilter
iKnow> use filter myfilter
Current filter: myfilter
 
iKnow> list source
 srcId          externalId
    97   :SQL:Accident:100
    94    :SQL:Accident:95
    92    :SQL:Accident:97
iKnow> quit
Bye bye
 
SAMPLES>

フィルタが適用されると、後続の use filter filtername によって、現在のフィルタが新しいフィルタに置き換えられます。フィルタを無効にするには、use filter 0 を指定します。

iKnow データ・アップグレード・ユーティリティ

iKnow データ構造の各バージョンには、システム・バージョン番号が割り当てられています。各 iKnow ドメインには、VersionOpens in a new tab プロパティの値が割り当てられます。すべての新規ドメインは、現在のシステム・バージョンとして同じ Version プロパティを使用して作成されます。したがって、通常これら 2 つの整数値は同じになります。

  • Caché を新しいバージョンに更新したときに、iKnow データ構造のシステム・バージョンがインクリメントされるのは、iKnow インデックス作成が変更された場合です。したがって、Caché を新しいバージョンに更新しても、必ずしも iKnow データ構造のシステム・バージョンがインクリメントされるとは限りません。

  • ドメインを作成すると、そのドメインは現在のデータ構造のシステム・バージョンを Version プロパティの値として取得します。したがって、以前のシステム・バージョンで作成された既存のドメインは、その以前のシステム・バージョンを Version プロパティの値として持っています。

以下は、Caché のバージョン、対応する iKnow システム・バージョン、およびインデックス作成プロセスの主な変更点です。

Caché 2012.1 1 最初の iKnow インデックス作成。
Caché 2012.2 2 優位性と近似によるインデックス作成の追加。
Caché 2013.1 3 否定属性によるインデックス作成の追加。
Caché 2014.1 および 2015.1 4 ドメイン非依存のディクショナリおよびブラックリスト
Caché 2015.2 以降 5 語幹解析によるインデックス作成の追加。感情属性によるインデックス作成の追加。

%iKnow.DomainOpens in a new tab クラスの GetCurrentSystemVersion()Opens in a new tab メソッドを使用して、現在の Caché インスタンスの iKnow データ構造のシステム・バージョンを判定できます。“iKnow 環境の設定” の章の "全ドメインのリスト" で説明したとおり、GetAllDomains クエリを使用して、すべてのドメインのドメイン・バージョン番号をリストできます。

iKnow データ構造のシステム・バージョンがドメイン・バージョンと一致しない場合、それらの古い iKnow ドメインでは、この新しいシステム・バージョンで導入された iKnow の新機能やパフォーマンスの改善を利用できません。古いドメインは引き続き操作可能ですが、ドメインをアップグレードするまでは iKnow データ構造の新機能を利用できません。ドメインをアップグレードすると、ドメインの Version プロパティがインクリメントされます。このアップグレード処理では、ドメイン・データのインデックスを自動的に再作成する必要があります。元のソース・テキストにアクセスする必要はありません。各ドメインは個々にアップグレードする必要があります。

ドメインをアップグレードするには、%iKnow.Utils.UpgradeUtilsOpens in a new tab クラスの UpgradeDomain()Opens in a new tab メソッドを使用します。詳細は、"インターシステムズ・クラス・リファレンス" ドキュメントを参照してください。

ドメインのアップグレード時に行われるインデックス再作成により、ドメイン ID は変更されますが、ドメイン名は変更されません。したがって、ドメインをアップグレードすると、特定のドメイン ID の整数値によってドメインを参照するプログラムに対しては変更が必要な場合があります。このため、ドメインを常にその ID プロパティ (またはドメイン名) で参照することをお勧めします。リテラルの整数 ID 値でドメインを参照するコーディング方法は避けてください。

特定のバージョンのアップグレードに関する注意事項

バージョン 2 へのアップグレード

iKnow データ構造のバージョン 1 からバージョン 2 にドメインをアップグレードすると、永続的グローバルおよび一時的グローバルで必要なディスク容量が大幅に増大します。永続的グローバルで必要なディスク容量は、元のソース・テキストの 8.7 倍から 20 倍のサイズに増大します。一時的グローバルで必要なディスク容量は、元のソース・テキストの 10.7 倍から 20 倍のサイズに増大します。cachetemp ディレクトリで必要なディスク容量は、元のソース・テキストの 1.25 倍から 4 倍のサイズに増大します。

このため、サイズの大きな iKnow ドメインを iKnow データ構造のバージョン 1 からバージョン 2 にアップグレードするのは、使用可能なディスク容量があり、iKnow データ構造の新機能 (意味的優位性語義的な近似など) が必要な場合のみにします。

バージョン 4 へのアップグレード

システムを Caché 2014.1 (またはこれ以降) にアップグレードすると、システム全体のドメイン・パラメータが自動的に変換されます。バージョン 4 以前で定義されたシステム全体のドメイン・パラメータは、(すべてのネームスペースのすべてのドメインに適用される) 本当のシステム全体のパラメータでした。バージョン 4 以降のシステム全体のドメイン・パラメータは、現在のネームスペースのすべてのドメインに適用されます。したがって、バージョン 4 にアップグレードすると、既存のすべてのシステム全体のドメイン・パラメータは、アップグレード時に iKnow ドメインが含まれているすべてのネームスペースのネームスペース全体のドメイン・パラメータとして適用されます。iKnow ドメインが含まれていないネームスペース、およびこの時点以降に作成されるネームスペースは、これらのシステム全体のドメイン・パラメータ設置を受け取りません。SAMPLES ネームスペースは、既存のシステム全体のドメイン・パラメータを受け取らないことに注意してください。これは、システムをアップグレードすると、SAMPLES が上書きされ、iKnow ドメインが含まれていないネームスペースを作成するためです。

FeedbackOpens in a new tab