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 Satzextrahierprogramm (cqtsdbcrawler.pl) und der Suchfunktion verwendet wird. 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.

Achtung: Es müssen mindestens die folgenden drei Felder indexiert werden, damit die Volltextsuche funktioniert:
  • record_type
  • dbid
  • version
Das Indexieren zusätzlicher Felder verbessert die Volltextsuchfunktion, ohne den Index wesentlich zu vergrößern.

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" login_iteration="1" 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 sollten 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. Der Standardwert für "delay" ist 600 Sekunden.
  • Mit "login_iteration" wird angegeben, wann eine neue Anmeldesitzung erstellt wird. Standardmäßig wird eine neue Anmeldesitzung beim Auftreten einer Verzögerung (delay) erstellt. Die folgenden Werte sind gültig:
    -1
    Der Benutzer meldet sich einmal an und bleibt so lange angemeldet, wie die Anwendung ausgeführt wird.
    0 | 1
    Standardverhalten. Die Verwendung der beiden Werte hat dieselbe Wirkung: An- und Abmeldung erfolgt immer dann, wenn der Prozess basierend auf dem Wert für delay aktiviert wird.
    n
    An- und Abmeldung jedes n-Mal, wenn der Prozess basierend auf dem Wert für delay aktiviert wird.
  • "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.
  • Aktualisieren Sie alle Referenzen auf localhost, sofern erforderlich:
    • Wenn Ihr ClearQuest-Suchservice, Solr, auf demselben Host ausgeführt wird wie CM Server, ist localhost ausreichend.
    • In einer Umgebung mit Lastausgleich oder in einer verteilten Umgebung mit mehreren CM-Servern und einem ClearQuest-Suchservicehost, oder wenn mehrere Benutzerdatenbanken mit ClearQuest-Suchprofilen auf verschiedenen Hosts indiziert sind, oder wenn bei einer ClearQuest-MultiSite-Konfiguration ein gemeinsamer ClearQuest-Suchservice für die Bearbeitung von Anforderungen für CM-Server in verschiedenen ClearQuest-MultiSite-Standorten verwendet wird, geben Sie die IP-Adresse oder den Hostnamen (als URL angegeben) für den zutreffenden ClearQuest-Suchhost anstelle von localhost an.

Beispiel

Wenn der Wert für login_iteration 10 ist, und Sie ändern den Standardwert für delay von 600 in 60 Sekunden, wird alle 10 Minuten eine neue Anmeldesitzung erstellt, während eine Prüfung nach neuen oder modifizierten Datensätzen jede Minue erfolgt. Auf diese Weise wird der Index für die Volltextsuche genauer mit der ClearQuest-Datenbank synchronisiert.

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 für CM Server an. Ändern Sie den Wert dieses Tags nach Bedarf:
  • Wenn Ihr ClearQuest-Suchservice, Solr, auf demselben Host ausgeführt wird wie CM Server, ist localhost ausreichend.
  • In einer Umgebung mit Lastausgleich oder in einer verteilten Umgebung mit mehreren CM-Servern und einem ClearQuest-Suchservicehost, oder wenn mehrere Benutzerdatenbanken mit ClearQuest-Suchprofilen auf verschiedenen Hosts indiziert sind, oder wenn bei einer ClearQuest-MultiSite-Konfiguration ein gemeinsamer ClearQuest-Suchservice für die Bearbeitung von Anforderungen für CM-Server in verschiedenen ClearQuest-MultiSite-Standorten verwendet wird, geben Sie die IP-Adresse oder den Hostnamen (als URL angegeben) für den zutreffenden ClearQuest-Suchhost anstelle von localhost an.
<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:
  • Verwenden Sie in einer Produktionsumgebung ein verschlüsseltes Kennwort und eine Schlüsseldatei.
  • Nur bei der Prototyperstellung und für Testzwecke können Sie das Kennwortelement leer lassen und keine Schlüsseldatei verwenden. Dieses Szenario sollten Sie jedoch auf keinen Fall in einer Produktionsumgebung verwenden.

Anderfalls können Fehler auftreten, wenn Sie das Satzextraktionsprogramm cqdbtscrawler.pl im Stapel- oder Aktualisierungsmodus 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-Schemadatei nicht, sondern kopieren Abschnitte daraus in die Solr-Schemadatei "schema.xml". (Weitere Informationen zur Datei "schema.xml" finden Sie in der Dokumentation zu Solr.)

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