cqtssetup.pl

全文検索のセットアップ タスクを実行します。

概要

サブミット可能なエンティティのファイルを生成します。
cqperl cqtssetup.pl –s dbset –d dbname –u user –p password –o Entity
ClearQuest 検索プロパティ ファイルを生成します。
cqperl cqtssetup.pl –s dbset –d dbname –u user –p password –o CQ [ -f entity_file ]
Solr スキーマ ファイルを生成します。
cqperl cqtssetup.pl –s dbset –d dbname –u user –p password –o Solr [ -f entity_file ]

説明

cqtssetup.pl コマンドは、-o オプションで指定した操作モード (EntityCQ、または Solr) に従って、全文検索機能のセットアップ タスクを実行します。出力ファイルの名前は、操作モードに従い、次のようになります。
  • Entity-dbset_name-db_name-TextSearch.txt
  • CQ-dbset_name-db_name-TextSearch.xml
  • Solr-dbset_name-db_name-TextSearch.xml
cqtssetup.pl を使用する手順は、以下のとおりです。
  1. サブミット可能なすべてのエンティティのファイル (-o Entity) を生成します。これらのエンティティとそれらのフィールドが、検索対象になります。
  2. ClearQuest 検索プロパティ ファイル (-o CQ) を生成します。 このファイルは、レコード抽出 (cqtsdbcrawler.pl) と 検索機能自体が使用します。一般的に、-f オプションの引数として、cqtssetup.pl ... -o Entity の編集済み出力を指定します。
  3. Solr スキーマを生成します (-o Solr)。これは、エンティティがどのように索引付けされるかを指定します。 一般的に、-f オプションの引数として、cqtssetup.pl ... -o CQ の出力を指定します。

このコマンドは、 デフォルトの製品インストール ディレクトリにインストールされています。

オプションと引数

–s dbset
データベース セットの名前。
–d dbname
データベースの名前。
–u user
ユーザー名。
–p password
パスワード。
–o { Entity | CQ | Solr }
操作モード
  • Entity はエンティティ ファイルを作成します
  • CQ は検索プロパティ ファイルを作成します
  • Solr は Solr スキーマ ファイルを作成します
–f entity_file
エンティティ ファイル。このオプションは、オプション CQ および Solr でのみ指定できます。 このオプションを省略すると、データベースで検出されたすべてのサブミット可能なエンティティ タイプ (およびそれらのフィールド) がコマンド引数として使用されます。

エンティティ ファイル

エンティティ ファイルは、-o Entity が操作モードとして指定されると生成されます。このファイルには、データベースで検出されたサブミット可能なエンティティが含まれます。 ClearQuest スキーマの開発者はこれらのエンティティに精通しているため、エンティティ ファイルに関する追加説明は必要ありません。

ClearQuest 検索プロパティ ファイル

ClearQuest 検索プロパティ ファイルは、-o CQ が操作モードとして指定されると生成されます。 このファイルには、複数のセクション (検索エンジン、データベース クローラー、データベース、およびエンティティ) が含まれます。 ClearQuest データベースのレプリカがある場合、各セクションの複数のインスタンスがあることになります。 各インスタンスは 1 つのレプリカに対応し、そのレプリカに固有の構成が必要となる場合があります。

検索エンジン セクション

このセクションは、ファイル CQ-db_name-dbset_name.xml の検索エンジン セクション中の XML タグを記述します。以下は、そのセクションの例です。
<!- Solr Search Engine default parameters -–>
<SearchEngine sitename="<local>" provider="Solr" version="1.2">
     <searchrequest retries="3"
          url=http://localhost:14080/solr/select/?q=%s&start=%d&rows=%d />
     <searchprop pagesize="25" cachesize="1000" />
</SearchEngine>
<SearchEngine>
検索エンジンとの通信に使用される構成を 指定します。レプリカなしのデータベースの場合、sitename="<local>" です。
データベースのレプリカがある場合、各レプリカに対してこのタグのインスタンスが 1 つあり、サイト名の値によってそのレプリカのサイトが指定されます。 全文検索機能は、サイト名の値を読み取ります。その値がサイトの名前と一致しなければ、検索機能は使用不可に設定されます。
このタグを修正する必要はありません。
<searchrequest>
検索エンジン サーバー URL およびそのサーバーと通信する方法 を指定します。このタグを修正する必要はありません。
<searchprop>
デフォルトのページ サイズおよびキャッシュ サイズを指定します。
  • pagesize は、戻るヒット数 (ページ当たり) を指定します。
  • cachesize は、読み取ってキャッシュに入れるヒット数を指定します。
このタグを修正する必要はありません。

データベース クローラー セクション

このセクションは、ファイル CQ-db_name-dbset_name.xml のデータベース クローラー セクション中の XML タグを記述します。 以下は、そのセクションの例です。

<!- ClearQuest Database Crawler default parameters -->
<CQDbCrawler sitename="<local>">
     <batch size="250" delay="5" directory="./batch-output"
          url=http://localhost/solr/update/" />
     <update size="250" delay="300" directory=".update-output"
          url=http://localhost/solr/update/" />
</CQDbCrawler>
<CQDbcrawler>
このタグの値は、バッチ モードと更新モードの両方の実行モードでのレコード抽出によって 読み取られます。これは、検索エンジンとの通信に使用される サイトの構成を指定します。レプリカなしのデータベースの場合、sitename="<local>" です。

レプリカが作成されたデータベースの 場合、各レプリカごとに別々の <CQDbCrawler> タグ があり、sitename の各インスタンス がレプリカのサイトを指定します。レプリカが作成されたデータベースの場合、 レコード抽出は、実行しているサイトの名前と一致する sitename 値 を探します。それが見つからない場合、レコード抽出の開始は失敗します。

<batch>、<update>
これらのタグの値は、バッチ モードおよび更新モードの cqtsdbcrawler コマンド によって読み取られます。これらの値は、ClearQuest 環境に合うように変更してください。
  • size は、一度に読み取られ、索引付けのために検索エンジンに 送付されるレコードの数を指定します。
  • delay は、レコード抽出が size で指定された数のレコードの グループを 1 つ処理してから次のグループを処理するまでの間の待ち時間を秒数で指定します。
  • url は、索引にレコードを追加するために検索エンジンと通信する方法 を指定します。
  • thread は、バッチ モードにのみ適用されます。これは、クエリーを 実行するときに作成するスレッドの数を指定します。スレッド数が多いほど、レコード 抽出の処理は速くなります。許可される最大スレッド数は 10 です。10 を超える値は、10 に切り捨てられます。

データベース セクション

このセクションは、ファイル CQ-db_name-dbset_name.xml のデータベース セクション中の XML タグを記述します。以下は、そのセクションの例です。

<!-- ClearQuest database and CM Server parameters -->
<CQDatabase sitename="<local>">
     <cmserver>http://localhost/TeamWeb/services/Team/</cmserver>
     <repository dbset="TextSearch" dbname="SAMPL"
          <username="admin" password="" keyfile=""></repository>
</CQDatabase>
<CQDatabase>
このタグの値は、バッチ モードと更新モードの両方の実行モードのレコード抽出で読み取られ、 それによって、レコードの抽出とデータベース更新のモニターを行うための ClearQuest データベース および変更管理 (CM) サーバーとの通信に使用する サイトの構成が判別されます。データベースがレプリカなしの場合、sitename="<local>" です。

レプリカが作成されたデータベース の場合、各レプリカごとに 1 つずつの CQDatabase のインスタンスが あり、その sitename がレプリカのサイトを指定します。 レコード抽出は、実行しているサイトと一致する sitename 値を探します。 それが見つからない場合、レコード抽出の開始は失敗します。

このタグを修正する必要はありません。

<cmserver>
変更管理サーバー (CMServer) URL を指定します。このタグの値は必要に応じて 変更してください。
<repository>
データベース接続プロファイルを指定します。プロファイルに 応じて以下の値を変更してください。
  • dbset は、データベース セットの名前を指定します。
  • dbname は、データベースの名前を指定します。
  • username は、ClearQuest にログインするためにレコード抽出によって想定される ID を 指定します。
  • password は、cqtsdbcrawler.pl で生成される暗号化パスワードを指定します。
  • keyfile は、パスワードの復号に使用される鍵ファイルのフルパス名を指定します。

エンティティ セクション

このセクションは、ファイル CQ-db_name-dbset_name.xml のエンティティ セクション中の XML タグを記述します。 以下は、そのセクションの例です。

<!- ClearQuest entity parameters -->
<CQEntity name="Customer" index="true">
     <field name="schema_mastership" disp_order="0" index="true" />
     <field name="customer_name" disp_order="1" index="true" />
     <field name="phone" disp_order="0" index="true" />
     <field name="company_name" disp_order="0" index="true" />
          .
          .
          .
</CQEntity>
<CQEntity>
このタグの値は、レコード抽出と検索機能の両方によって 読み取られます。ClearQuest データベースのレプリカがある場合、すべてのサイトにわたって CQEntity の インスタンスは一貫性がなければならず、そうでないと、索引付けは (従って検索結果も) レプリカ間で 一貫性のないものになってしまいます。
<field>
レコード抽出は、このタグの値を使用して、 以下のように、索引付けされる検索可能なフィールドかどうかを判別します。
  • name は、フィールドの名前を指定します。
  • index は、フィールドが索引付けされるかどうかを指定します。 index="<true>" の場合、指定されたエンティティは索引付けされ、 検索可能です。
  • disp_order は、フィールドが検索結果に表示されるかどうかを次のように指定します。
    • 値 0 は、フィールドが表示されないことを意味します。
    • 値 1 は、フィールドが表示されることを意味します。エンティティでは 1 つのフィールドしか表示できません。 複数のフィールドでゼロ以外の値が指定されると、表示されるフィールドの選択は定義されません。

Solr スキーマ ファイル

Solr 検索スキーマ ファイルは、-o Solr が操作モードとして指定されると生成されます。 -o CQ の場合と同様に、この操作モードでは、エンティティ モード (-o Entity) でこのコマンドを実行することにより生成されるエンティティ ファイルが入力に使用されます。Solr 検索スキーマ ファイルは編集しません。その代わりに、そのセクションを Solr スキーマ ファイル schema.xml にコピーします (schema.xml に関する詳細は、Solr 資料を参照してください)。

Solr 検索スキーマ ファイルの最も重要なセクションは、検索エンジン セクションです。以下はその引用です。
<Solr>
	<fields>
		<field name="Operator_Value" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>
		<field name="misc_info" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>
...
		<field name="Resolution" type="text" indexed="true" stored="false" required="false" multivalued="false"></field>

...
		<field name="comments" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>

...
		<field name="RATL_CQ_UNIQUE_FIELD" type="string" indexed="true" stored="true" required="true" multivalued="false"></field>
...
		<field name="RATL_CQ_ALL_FIELDS" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>
	</fields>
</Solr>
<uniqueKey>RATL_CQ_UNIQUE_FIELD</uniqueKey>
<defaultSearchField>RATL_CQ_ALL_FIELDS</defaultSearchField>
<copyField source="Operator_Value" dest="RATL_CQ_ALL_FIELDS"></copyField>
<copyField source="misc_info" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="Resolution" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="Version" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="comments" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="Fax" dest="RATL_CQ_ALL_FIELDS"></copyField>
<field>
次のように、Solr にフィールドの索引付けに関する情報を指定します。
  • name は、フィールド名を指定します。
  • type は、データ タイプを指定します。
  • indexed は、フィールドが索引付けされるかどうかを指定します。
  • stored は、フィールド内のデータが Lucene 索引に保管されるかどうかを指定します。
  • required は、索引に追加されるように、ドキュメントがフィールド (およびそのデータ) を含む必要があるかどうかを指定します。
  • multivalued は、このフィールド名を持つ別の <field> タグが存在し得るかどうかを指定します。
このタグは修正しないでください。
<unique_key>
ドキュメント ID として使用される Lucene 文書定義のフィールドを指定します。 このフィールドは、Solr、Lucene、レコード抽出、および ClearQuest 検索機能によって読み取られ、ClearQuest レコードを一意的に識別します。このタグは修正しないでください。
<defaultSearchfield>
フィールド修飾子を使用せずに検索を実行する際に使用されるフィールドを指定します。 Solr および Lucene はこのフィールドを使用して、レコード内のすべてのフィールドを検索します。 このタグは修正しないでください。
<copyField>
フィールドのコンテンツが、別のフィールド (この例では <defaultSearchfield>) にコピーされるように指定します。このタグは修正しないでください。

  1. SAMPL データベース内のサブミット可能なすべてのエンティティのファイルを生成します。
    cqperl cqtssetup.pl -s TextSearch -d SAMPL -u admin -p "" -o Entity

    このコマンドにより、ファイル Entity-SAMPL-TextSearch.txt が生成されます。このファイルのコンテンツは、次のテキストのようになります。

    Email_Rule=ratl_mastership,ratl_keysite,record_type,dbid,is_active,version,lock_version,locked_by,name,…,…,…
    Customer=ratl_mastership,ratl_keysite,dbid,is_active,version,lock_version,locked_by,record_type,Name,Phone,Fax,Email,CallTrackingID,…,…,…
    Project=ratl_mastership,ratl_keysite,dbid,is_active,version,lock_version,locked_by,…,…,…
    Defect=ratl_mastership,record_type,dbid,is_active,id,state,version,lock_version,locked_by,isduplicate,unduplicate_state,Headline,Description,Priority,Severity,Submitter,…,…,…

    ファイルを編集して、検索可能にするレコード タイプとフィールドを指定します。 例えば、タイプが Defect であるレコードのみを検索可能にする場合、Defect= で始まる行以外の、ファイルにあるすべての行を削除します。 このレコード タイプで定義されるフィールドの一部のみを検索可能にする場合、検索可能にするフィールドのみを残して、残りをすべて削除します。 例えば、Headline、Description、および Severity のみを検索可能にする場合、編集したファイルは次のようになります。

    Defect=record_type,dbid,version,Headline,Description,Severity

    record_type、dbid、および version のフィールドは残すことに注意してください。全文検索の実装では、これらの 3 つのフィールドを索引付けする必要があります。

  2. 前のコマンドで生成されたエンティティ ファイル Entity-SAMPL-TextSearch.txt を指定して、 検索プロパティ ファイルを生成します。
    cqperl cqtssetup.pl -s TextSearch -d SAMPLE -u admin -p ""
    -o CQ -f Entity_SAMPLE_TextSearch.txt

    このコマンドにより、ファイル CQ-SAMPL-TextSearch.xml が生成されます。このファイルは、レコード抽出 (cqtsdbcrawler.pl) および検索機能の両方で使用されます。

  3. エンティティ ファイル Entity-SAMPL-TextSearch.txt を指定して、Solr スキーマを生成します。
    cqperl cqtssetup.pl -s TextSearch -d SAMPLE -u admin -p ""
    -o Solr Entity-SAMPL-TextSearch.txt

    このコマンドにより、ファイル Solr-SAMPL-TextSearch.xml が生成されます。このファイルは編集しません。そのセクションを Solr ファイル schema.xml にコピーします。

  4. ファイル schema.xml の特定のセクションをファイル Solr-SAMPL-TextSearch.xml の対応するセクションに置き換えて、Solr 検索スキーマ ファイルを更新します。
    1. schema.xml の <fields> セクションを Solr-SAMPL-TextSearch.xml の <fields> セクションに置き換えます。
    2. <copyfield> セクションを同じように置き換えます。
    3. <uniqueKey> セクションを同じように置き換えます。既存の schema.xml ファイルを使用して開始した場合は、このセクションはすでにあるはずです。
    4. <defaultSearchField> セクションを同じように置き換えます。既存の schema.xml ファイルを使用して開始した場合は、このセクションはすでにあるはずです。
  5. WAS を再始動して、行った変更を有効にします。
注: 独自の schema.xml を編集する場合は、<field name= ... の値を、使用しているデータベース スキーマの名前に変更します。 ClearQuest MultiSite を使用する場合も、ローカル サイトの名前を指定します (例 <field name="Acme Defect Tracking at Madrid"...)。Solr 管理 Web ページにこの変更が反映されます。

関連項目

cqtsdbcrawler.plsetmasterpropertyfromfile