cqtssetup.pl

Führt Konfigurationstasks für die Volltextsuche aus.

Übersicht

Eine Datei übergebbarer Einheiten generieren:
cqperl cqtssetup.pl –d Datenbankname –s Datenbankgruppe –u Benutzer –p Kennwort –o Entity
Eine ClearQuest-Eigenschaftendatei für Suchvorgänge generieren:
cqperl cqtssetup.pl –d Datenbankname –s Datenbankgruppe –u Benutzer –p Kennwort –o CQ [ -f Entitätsdatei ]
Gehen Sie wie folgt vor, um eine Solr-Suchschemadatei zu erstellen:
cqperl cqtssetup.pl –d Datenbankname –s Datenbankgruppe –u Benutzer –p Kennwort –o Solr [ -f Entitätsdatei ]

Beschreibung

Der Befehl "cqtssetup.pl" führt Konfigurationstasks für die Funktion für Volltextsuche aus, je nach der Betriebsart, die mit der Option -o angegeben wird: Entity, CQ, oder Solr. Die Ausgabe ist eine Datei, die entsprechend der Betriebsart benannt wird:
  • Entity-Datenbankname-Name_der_Datenbankgruppe.txt
  • CQ-Datenbankname-Name_der_Datenbankgruppe.xml
  • Solr-Datenbankname-Name_der_Datenbankgruppe.xml
Führen Sie die folgenden Schritte aus, um cqtssetup.pl zu verwenden:
  1. Generieren Sie eine Datei aller übergebbaren Entitäten (-o Entity). Diese Entitäten und deren Felder sind Kandidaten für Suchvorgänge.
  2. Generieren Sie die ClearQuest-Eigenschaftendatei für Suchvorgänge (-o CQ), die vom Satzextrahierungsprogramm (cqtsdbcrawler.pl) und von der Suchfunktion selbst verwendet werden soll. Normalerweise geben Sie die editierte Ausgabe von "cqtssetup.pl ... -o Entity" als Argument für die Option -f an.
  3. Generieren Sie die Solr-Suchschemadatei (-o Solr), die angibt, wie Entitäten indexiert werden sollen. Normalerweise geben Sie die Ausgabe von cqtssetup.pl ... -o CQ als Argument für die Option -f an.

Dieser Befehl wird im standardmäßig verwendeten Produktinstallationsverzeichnis installiert.

Optionen und Argumente

–d Datenbankname
Gibt den Namen der Datenbank an.
–s Datenbankgruppe
Gibt den Namen der Datenbankgruppe an.
–u Benutzer
Gibt den Benutzernamen an.
–p Kennwort
Gibt das Kennwort an.
–o { Entity | CQ | Solr }
Die drei Betriebsarten lassen sich wie folgt charakterisieren:
  • "Entity" erstellt die Entitätsdatei.
  • "CQ" erstellt die Eigenschaftendatei für Suchvorgänge.
  • "Solr" erstellt die Solr-Suchschemadatei.
–f Entitätsdatei
Die Entitätsdatei. Diese Option kann nur mit den Optionen CQ und Solr angegeben werden. Wird diese Option ausgelassen, werden alle übergebbaren Entitätstypen (und deren Felder), die in der Datenbank gefunden werden, als Befehlsargument verwendet.

Entitätsdatei

Die Entitätsdatei wird generiert, wenn "-o Entity" als Betriebsart angegeben ist. Sie enthält die übergebbaren Entitäten, die in der Datenbank gefunden wurden. Da diese Entitäten für den Entwickler des ClearQuest-Schemas vollkommen verständlich sind, ist eine weitere Erklärung der Entitätsdatei nicht erforderlich.

Die ClearQuest-Eigenschaftendatei für Suchvorgänge

Die ClearQuest-Eigenschaftendatei für Suchvorgänge wird generiert, wenn -o CQ als Betriebsart angegeben wird. Sie enthält verschiedene Abschnitte: Suchmaschine, Datenbank-Crawler, Datenbank und Entität. Wenn die ClearQuest-Datenbank repliziert wird, gibt es von jedem Abschnitt mehrere Instanzen. Jede Instanz entspricht einem Replikat und erfordert möglicherweise eine Konfiguration, die für dieses Replikat spezifisch ist.

Abschnitt für die Suchmaschine

Dieser Abschnitt beschreibt XML-Tags im Abschnitt für die Suchmaschine der Datei CQ-Datenbankname-Name_der_Datenbankgruppe.xml. Es folgt ein Beispiel für diesen Abschnitt:
<!- 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>
Gibt die Konfiguration an, die für die Kommunikation mit der Suchmaschine verwendet werden soll. Für eine nicht replizierte Datenbank wird die Einstellung sitename="<local>" verwendet.
Wenn die Datenbank repliziert wird, gibt es für jedes Replikat eine Instanz dieses Tag, und der Wert von "sitename" gibt den Standort dieses Replikats an. Die Funktion für Volltextsuche liest den Wert von "sitename". Wenn dieser Wert nicht mit dem Namen des Standorts übereinstimmt, wird die Suchfunktion inaktiviert.
Sie brauchen dieses Tag nicht zu ändern.
<searchrequest>
Gibt den URL des Suchmaschinenservers an und legt fest, wie die Kommunikation mit diesem Server erfolgen soll. Sie brauchen dieses Tag nicht zu ändern.
<searchprop>
Gibt die Standardgrößen für Seite und Cache an.
  • "pagesize" gibt die Anzahl der Treffer an, die pro Seite zurückgegeben werden sollen.
  • "cachesize" gibt die Anzahl der Treffer an, die gelesen und in den Cache gestellt werden sollen.
Sie brauchen dieses Tag nicht zu ändern.

Abschnitt für den Datenbank-Crawler

Dieser Abschnitt beschreibt XML-Tags im Abschnitt für den Datenbank-Crawler der Datei CQ-Datenbankname-Name_der_Datenbankgruppe.xml. Es folgt ein Beispiel für diesen Abschnitt:

<!- 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>
Der Wert dieses Tags wird vom Satzextrahierungsprogramm im Stapel- und im Aktualisierungsmodus gelesen. Er gibt die Standortkonfiguration an, die für die Kommunikation mit der Suchmaschine verwendet werden soll. Für eine nicht replizierte Datenbank wird die Einstellung sitename="<local>" verwendet.

Bei einer replizierten Datenbank gibt es für jedes Replikat ein eigenes <CQDbCrawler>-Tag, wobei "sitename" jeweils den Standort der einzelnen Replikate angibt. Bei einer replizierten Datenbank sucht das Satzextrahierungsprogramm nach einem Wert für "sitename", der mit dem Namen des aktiven Standorts übereinstimmt. Wird kein Wert gefunden, kann das Extrahierungsprogramm nicht gestartet werden.

<batch>, <update>
Die Werte dieser Tags werden vom Befehl "cqtsdbcrawler" im Stapel- und im Aktualisierungsmodus gelesen. Sie können die Werte ändern, um sie an Ihre ClearQuest-Umgebung anzupassen.
  • "size" gibt die Anzahl der Datensätze an, die jeweils gelesen werden sollen, bevor sie zur Indexierung an die Suchmaschine gesendet werden.
  • "delay" gibt in Sekunden den Zeitraum an, den das Satzextrahierungsprogramm zwischen der Verarbeitung der einzelnen Datensatzgruppen, deren Größe durch "size" vorgegeben wird, wartet.
  • "url" bestimmt, wie die Kommunikation mit der Suchmaschine erfolgen soll, um Datensätze zum Index hinzuzufügen.
  • "thread" ist nur auf den Stapelmodus anwendbar. Der Wert gibt die Anzahl der Threads an, die bei Abfragen erstellt werden sollen. Je mehr Threads vorhanden sind, desto schneller erfolgt die Datensatzextraktion. Die maximale Anzahl der zulässigen Threads ist 10. Werte größer als 10 werden auf 10 reduziert.

Datenbankabschnitt

Dieser Abschnitt beschreibt XML-Tags im Datenbankabschnitt der Datei CQ-Datenbankname-Name_der_Datenbankgruppe.xml. Es folgt ein Beispiel für diesen Abschnitt:

<!-- 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>
Das Satzextrahierungsprogramm liest den Wert dieses Tags im Stapel- und im Aktualisierungsmodus, um die Standortkonfiguration für die Kommunikation mit dem ClearQuest-Datenbankserver und dem Server für Änderungsmanagement zu bestimmen, die erforderlich ist, um Datensätze zu extrahieren und Aktualisierungen der Datenbank zu überwachen. Für eine nicht replizierte Datenbank wird die Einstellung sitename="<local>" verwendet.

Bei einer replizierten Datenbank gibt es für jedes Replikat eine eigene Instanz von "CQDatabase", wobei "sitename" jeweils den Standort der einzelnen Replikate angibt. Das Satzextrahierungsprogramm sucht nach einem Wert für "sitename", der mit dem Namen des aktiven Standorts übereinstimmt. Wird kein Wert gefunden, kann das Extrahierungsprogramm nicht gestartet werden.

Sie brauchen dieses Tag nicht zu ändern.

<cmserver>
Gibt den URL des Servers für Änderungsmanagement an. Ändern Sie den Wert dieses Tags nach Bedarf.
<repository>
Gibt das Profil für die Datenbankverbindung an. Ändern Sie die folgenden Werte gemäß Ihrem Profil:
  • "dbset" gibt den Namen der Datenbankgruppe an.
  • "dbname" gibt den Namen der Datenbank an.
  • "username" gibt die Identität an, die vom Satzextrahierungsprogramm für die Anmeldung an ClearQuest vorausgesetzt wird.
  • "password" gibt das verschlüsselte Kennwort an, das von "cqtsdbcrawler.pl" generiert wird.
  • "keyfile" gibt den vollständigen Pfadnamen der Schlüsseldatei an, die zum Entschlüsseln des Kennworts verwendet wird.
Achtung: Sie müssen einen gültigen Wert für username, password und keyfile angeben, andernfalls treten Fehler auf, wenn Sie den Befehl cqdbtscrawler.pl für die Durchführung der Indexierung ausführen.

Abschnitt für die Entität

Dieser Abschnitt beschreibt XML-Tags im Entitätsabschnitt der Datei CQ-Datenbankname-Name_der Datenbankgruppe.xml. Es folgt ein Beispiel für diesen Abschnitt:

<!- 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>
Der Wert dieses Tags wird vom Satzextrahierungsprogramm und von der Suchfunktion gelesen. Wenn die ClearQuest-Datenbank repliziert wird, müssen CQEntity-Instanzen an allen Standorten konsistent sein, da sonst die Indexierung (und somit auch die Suchergebnisse) in den Replikaten inkonsistent ist.
<field>
Das Satzextrahierungsprogramm verwendet die Werte dieses Tags wie folgt, um zu bestimmen, ob ein Feld indexiert werden und für Suchvorgänge verfügbar sein soll:
  • "name" gibt den Namen des Felds an.
  • "index" gibt an, ob das Feld indexiert wird. Wenn die Einstellung index="<true>" lautet, wird die angegebene Entität indexiert und steht für Suchvorgänge zur Verfügung.
  • "disp_order" zeigt an, ob das Feld in Suchergebnissen angezeigt werden soll. Wenn ja, erfolgt die Anzeige wie folgt:
    • Der Wert "0" bedeutet, dass das Feld nicht angezeigt wird.
    • Der Wert "1" bedeutet, dass das Feld angezeigt wird. Nur ein Feld in einer Entität kann angezeigt werden.
    Achtung: Für alle Datensatztypen, die über die Funktion der ClearQuest-Volltextsuche indexiert werden, darf nur für ein Feld der disp_order-Wert 1 angegeben werden. Wenn mehr als ein Feld diesen Wert hat, werden keine Ergebnisse angezeigt.

Solr-Suchschemadatei

Die Solr-Suchschemadatei wird generiert, wenn -o Solr als Betriebsart angegeben wird. Wie bei -o CQ verwendet diese Betriebsart die Entitätsdatei, die durch Ausführung dieses Befehls im Mode "entity" (-o Entity) generiert wird, als Eingabe. Sie editieren die Solr-Suchschemadatei nicht, stattdessen kopieren Sie Abschnitte der Datei in die Solr-Schemadatei "schema.xml" (Informationen zur Datei "schema.xml" finden Sie in der Solr-Dokumentation).

Der wichtigste Abschnitt der Solr-Suchschemadatei ist der Abschnitt für die Suchmaschine, wie der folgende Auszug zeigt:
<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>
Stellt für Solr Informationen zur Indexierung eines Felds bereit:
  • "name" gibt den Feldnamen an.
  • "type" gibt den Datentyp an.
  • "indexed" gibt an, ob das Feld indexiert werden soll.
  • "stored" gibt an, ob Daten im Feld im Lucene-Index gespeichert werden sollen.
  • "required" gibt an, ob ein Dokument das Feld (und seine Daten) enthalten muss, um zum Index hinzugefügt zu werden.
  • "multivalued" gibt an, ob ein weiteres <field>-Tag mit diesem Feldnamen vorhanden sein darf.
Ändern Sie dieses Tag nicht.
<unique_key>
Gibt das Feld in der Lucene-Dokumentdefinition an, das als Dokumentkennung verwendet werden soll. Dieses Feld wird von Solr, Lucene, dem Satzextrahierungsprogramm und der ClearQuest-Suchfunktion gelesen. Damit wird sichergestellt, dass ein ClearQuest-Datensatz eindeutig identifiziert wird. Ändern Sie dieses Tag nicht.
<defaultSearchfield>
Gibt das Feld an, das verwendet werden soll, wenn eine Suche ohne Qualifikationsmerkmale für Felder ausgeführt wird. Solr und Lucene verwenden dieses Feld, um alle Felder in einem Datensatz zu durchsuchen. Ändern Sie dieses Tag nicht.
<copyField>
Gibt an, dass der Inhalt eines Felds in ein anderes Feld, in diesem Fall <defaultSearchfield>, kopiert werden soll. Ändern Sie dieses Tag nicht.

Beispiele

  1. Generieren Sie eine Datei aller übergebbaren Entitäten in der Datenbank SAMPL:
    cqperl cqtssetup.pl -d SAMPL -s TextSearch -u admin -p "" -o Entity

    Dieser Befehl generiert die Datei "Entity-SAMPL-TextSearch.txt". Der Inhalt der Datei lautet etwa wie folgt:

    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,…,…,…

    Editieren Sie die Datei, um die Datensätze und Felder anzugeben, die für Suchvorgänge verfügbar sein sollen. Wenn z. B. nur Datensätze des Typs "Defect" für Suchvorgänge verfügbar sein sollen, müssen Sie alle Zeilen löschen, mit Ausnahme derjenigen, die mit Defect= beginnt. Wenn nur einige der Felder, die von diesem Satztyp definiert werden, für Suchvorgänge verfügbar sein sollen, behalten Sie diese Felder bei, und löschen Sie die restlichen Felder. Wenn z. B. nur die Felder "Headline", "Description" und "Severity" für Suchvorgänge verfügbar sein sollen, hat die editierte Datei folgenden Inhalt:

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

    Beachten Sie, dass die Felder "record_type", "dbid" und "version" beibehalten werden. Es ist eine Voraussetzung für die Implementierung der Volltextsuche, dass diese drei Felder indexiert werden.

  2. Generieren Sie eine Eigenschaftendatei für Suchvorgänge, indem Sie die Entitätsdatei Entity-SAMPL-TextSearch.txt, die vom vorherigen Befehl generiert wurde, angeben.
    cqperl cqtssetup.pl -d SAMPL -s TextSearch -u admin -p ""
    -o CQ -f Entity_SAMPLE_TextSearch.txt

    Dieser Befehl generiert die Datei CQ-SAMPL-TextSearch.xml, die vom Satzextrahierungsprogramm (cqtsdbcrawler.pl) und von der Suchfunktion verwendet wird.

  3. Generieren Sie eine Solr-Suchschemadatei, und geben Sie die Entitätsdatei Entity-SAMPL-TextSearch.txt an.
    cqperl cqtssetup.pl -d SAMPL -s TextSearch -u admin -p ""
    -o Solr Entity-SAMPL-TextSearch.txt

    Dieser Befehl generiert die Datei "Solr-SAMPL-TextSearch.xml". Sie editieren diese Datei nicht, sondern Sie kopieren Abschnitte der Datei in die Solr-Datei "schema.xml".

  4. Aktualisieren Sie die Solr-Schemadatei schema.xml, indem Sie bestimmte Abschnitte durch entsprechende Abschnitte der Datei Solr-SAMPL-TextSearch.xml ersetzen:
    1. Ersetzen Sie den Abschnitt <fields> der Datei "schema.xml" durch den Abschnitt <fields> der Datei Solr-SAMPL-TextSearch.xml.
    2. Ersetzen Sie den Abschnitt <copyfield> auf dieselbe Weise.
    3. Ersetzen Sie den Abschnitt <uniqueKey> auf dieselbe Weise. Wenn Sie mit einer vorhandenen Datei "schema.xml" begonnen haben, muss dieser Abschnitt bereits vorhanden sein.
    4. Ersetzen Sie den Abschnitt <defaultSearchField> auf dieselbe Weise. Wenn Sie mit einer vorhandenen Datei "schema.xml" begonnen haben, muss dieser Abschnitt bereits vorhanden sein.
  5. Starten Sie WebSphere Application Server erneut, damit die Änderungen, die Sie vorgenommen haben, wirksam werden.
Anmerkung: Wenn Sie Ihre eigene Datei "schema.xml" bearbeiten, ändern Sie den Wert von "<field name=..." in den Namen des Datenbankschemas. Wenn Sie ClearQuest MultiSite verwenden, geben Sie auch den Namen des lokalen Standorts an, z. B. <field name="Acme Defect Tracking at Madrid". Auf der Webseite für Solr-Verwaltung ist diese Änderung vermerkt.

Siehe auch

cqtsdbcrawler.pl, setmasterpropertyfromfile


Feedback