Dateiinhalte abrufen

Mithilfe der SearchService-Befehle können Sie Tasks zum Abrufen von Dateiinhalten ausführen.

Vorbereitende Schritte

Um Konfigurationsdateien zu bearbeiten, müssen Sie den wsadmin-Client von IBM® WebSphere Application Server verwenden. Weitere Informationen finden Sie im Abschnitt wsadmin-Client starten.

Informationen zu diesem Vorgang

Abhängig von der Anzahl der in Ihrer Implementierung zu indexierenden Dateien kann das Abrufen von Dateiinhalten entsprechend lang dauern. Um sicherzustellen, dass der gesamte Inhalt abgerufen und indexiert wird, können Sie den Befehl "indexNow" verwenden, um den kompletten Inhalt abzurufen. Sie können den Befehl vor oder nach Abschluss des Dokumentindexierservice für Dokumente ausführen.

Beispiel: Um Dateien und den gesamten Dateiinhalt manuell zu indexieren, können Sie die folgenden Befehle ausführen:

wsadmin>SearchService.indexNow("files")
wsadmin>SearchService.getFileContentNow("files")
wsadmin>SearchService.indexFileContentNow("files","1000")

Der Dokumentindexierservice kann auf mehreren Knoten ausgeführt werden. Dadurch können der Download- und Konvertierungsprozess beschleunigt werden. Wenn die Dokumentindexierungstask geplant ist, sendet die Suchanwendung eine Nachricht an alle Knoten, um ihnen mitzuteilen, dass sie den Dokumentindexierungsvorgang lokal starten sollen. Jeder Suchserver beginnt damit, Dateien aus dem Cache abzurufen und herunterzuladen und diese zu konvertieren. Wenn ein Knoten eine Datei abruft, versieht er die Datei im Cache mit einem entsprechenden Flag, sodass kein anderer Knoten versucht, Inhalte für diese Datei abzurufen.

Vorgehensweise

Gehen Sie wie folgt vor, um Tasks zum Abrufen von Dateiinhalten auszuführen.

  1. Starten Sie den wsadmin-Client aus einem der folgenden Verzeichnisse in dem System, in dem Sie den Deployment Manager installiert haben:

    Linux: app_server_root\profiles\dm_profile_root\bin

    Windows: app_server_root/profiles/dm_profile_root/bin

    Dabei steht app_server_root für das WebSphere Application Server-Installationsverzeichnis und dm_profile_root für das Deployment Manager-Profilverzeichnis; in der Regel handelt es sich dabei um "dmgr01".

    Sie müssen den Client von diesem Verzeichnis aus starten. Andernfalls werden die von Ihnen eingegebenen Befehle nicht ordnungsgemäß ausgeführt.

  2. Geben Sie nach der Initialisierung der wsadmin-Befehlsumgebung den folgenden Befehl ein, um die Suchumgebung zu initialisieren und den Such-Script-Interpreter zu starten:
    execfile("searchAdmin.py")
    Wenn Sie zur Angabe eines Services aufgefordert werden, zu dem eine Verbindung hergestellt werden soll, geben Sie "1" ein, um den ersten Knoten in der Liste auszuwählen. Die meisten Befehle können auf jedem beliebigen Knoten ausgeführt werden. Wenn der Befehl Informationen über einen lokalen Dateipfad in eine Datei schreibt oder aus einer Datei liest, müssen Sie den Knoten auswählen, auf dem die Datei gespeichert ist.
    Bei erfolgreichem Ausführen des Befehls wird die folgende Nachricht angezeigt:
    Search Administration initialized
  3. Verwenden Sie die folgenden Befehle, um Tasks zum Abrufen von Dateiinhalten auszuführen.
    SearchService.getFileContentNow(String applicationNames)

    Startet die Task zum Abrufen von Dateiinhalten. Dieser Befehl iteriert durch den Dateicache und lädt Dateien ohne Inhalt herunter und konvertiert diese.

    Für diesen Befehl ist die Eingabe eines Zeichenfolgewerts erforderlich, der dem Namen der Anwendung entspricht, deren Inhalte abgerufen werden sollen. Die folgenden Werte sind gültig:
    • ecm_files - Ruft Dateien aus dem Enterprise Content Management-Repository ab. Nur veröffentlichte Dateien werden abgerufen; Entwurfsdateien sind nicht enthalten.
    • files - Ruft Dateien aus der App "Dateien" ab.
    • wikis - Ruft Dateien aus der App "Wikis" ab.
    • activities - Ruft Dateien aus der App "Aktivitäten" ab.
    • forums - Ruft Dateien aus der App "Foren" ab.
    Zum Beispiel:
    SearchService.getFileContentNow("files")
    SearchService.retryContentFailuresNow(String applicationNames)

    Wiederholt fehlgeschlagene Versuche, Dateien für die angegebene Anwendung herunterzuladen und zu konvertieren.

    Für diesen Befehl ist die Eingabe eines Zeichenfolgewerts erforderlich, der dem Namen der Anwendung entspricht, deren Inhalte heruntergeladen und konvertiert werden sollen. Die folgenden Werte sind gültig:
    • files - Ruft Dateien aus der App "Dateien" ab.
    • wikis - Ruft Dateien aus der App "Wikis" ab.
    • activities - Ruft Dateien aus der App "Aktivitäten" ab.
    • forums - Ruft Dateien aus der App "Foren" ab.

    Eine Task zum Herunterladen oder Konvertieren einer Datei kann aus vielen verschiedenen Gründen, z. B. wegen Hardware- oder Netzwerkproblemen fehlschlagen. Fehlgeschlagene Tasks sind im Cache mit einem Flag versehen und können wiederholt werden.

    Zum Beispiel:
    SearchService.retryContentFailuresNow("wikis,files")
    SearchService.addFileContentTask(String taskName, String schedule, String startBy, String applicationNames, String all_configured, Boolean failuresOnly)

    Erstellt eine geplante Task zum Abrufen von Dateiinhalten.

    Dieser Befehl benötigt die folgenden Argumente:
    • taskName. Der Name der geplanten Task. Dieses Argument ist ein Zeichenfolgewert, der eindeutig sein muss.
    • schedule. Der Zeitpunkt, zu dem die geplante Task gestartet wird. Dieses Argument ist ein Zeichenfolgewert, der im "cron"-Format angegeben werden muss.
    • startBy. Bestimmter Zeitraum, in dem eine Task ausgelöst werden kann, bevor sie automatisch abgebrochen wird. Dieses Argument ist ein Zeichenfolgewert, der im "cron"-Format angegeben werden muss.
    • applicationNames. Der Name der IBM Connections-Anwendung(en), die indexiert werden soll(en), wenn die Task ausgelöst wird. Dieses Argument ist ein Zeichenfolgewert. Zur Indexierung mehrerer Anwendungen können Sie eine durch Kommas begrenzte Liste verwenden. Die folgenden Werte sind gültig:
      • ecm_files - Ruft Dateien aus dem Enterprise Content Management-Repository ab. Nur veröffentlichte Dateien werden abgerufen; Entwurfsdateien sind nicht enthalten.
      • files - Ruft Dateien aus der App "Dateien" ab.
      • wikis - Ruft Dateien aus der App "Wikis" ab.
      • activities - Ruft Dateien aus der App "Aktivitäten" ab.
      • forums - Ruft Dateien aus der App "Foren" ab.
    • all_configured. Gibt an, dass die Operation für alle Anwendungen durchgeführt wird.
    • failuresOnly. Gibt an, dass nur die Inhalte von Dateien abgerufen werden, für die die Tasks zum Herunterladen und Konvertieren fehlgeschlagen sind. Bei diesem Argument handelt es sich um einen booleschen Wert.
    Zum Beispiel:
    SearchService.addFileContentTask("mine", "0 0 1 ? *
      MON-FRI", "0 10 1 ? * MON-FRI", "wikis,files","true")
    
    SearchService.addFileContentTask("mine", "0 0 1 ? *
      MON-FRI", "0 10 1 ? * MON-FRI", "all_configured","true"

    Wenn der Befehl erfolgreich ausgeführt wird, wird eine 1 (Eins) an die wsadmin-Konsole ausgegeben. Wenn der Befehl nicht erfolgreich ausgeführt wird, wird eine 0 (Null) an die wsadmin-Konsole ausgegeben.

    Sie können die Taskdefinition für die Standardtask 20min-file-retrieval-task auch mithilfe des Befehls SearchService.addFileContentTask ersetzen. Diese Task wird standardmäßig alle 20 Minuten ausgeführt. Dies gilt nicht für die Zeit zwischen 01:00 und 02:00 Uhr. Um die Standardeinstellungen für die Task zu ersetzen, entfernen Sie zunächst mithilfe des Befehls "SearchService.deleteTask(String taskName)" die vorhandene Task. Erstellen Sie anschließend mithilfe des Befehls "SearchService.addFileContentTask" eine neue Task mit den von Ihnen angegebenen Werten.

    Zum Beispiel:
    SearchService.deleteTask("20min-file-retrieval-task")
    SearchService.addFileContentTask("20min-file-retrieval-task",
      "0 1/20 0,2-23 * * ?", "0 10/20 0,2-23 * * ?",
      "all_configured", "false")
    SearchService.addFileContentIndexingTask(String taskName, String schedule, String startBy, String applicationNames, String all_configured, Integer, duration)

    Erstellt eine geplante Task zur Indexierung von Dateiinhalten. Die Task zur Indexierung von Dateiinhalten iteriert durch die Liste von Dateien, deren Inhalte noch nicht indexiert wurden. Diese Liste enthält möglicherweise nur einige Elemente. In diesem Fall ist die Ausführung der Task schnell beendet. In einigen Fällen könnte ein großer Rückstand an nicht verarbeiteten Dateien vorhanden sein. Sie können die Ausführungszeit der Task mithilfe des Arguments "duration" begrenzen. Alle verbleibenden Dateien werden bei der nächsten Ausführung der Task verarbeitet.

    Dieser Befehl benötigt die folgenden Argumente:
    • taskName. Der Name der geplanten Task. Dieses Argument ist ein Zeichenfolgewert, der eindeutig sein muss.
    • schedule. Der Zeitpunkt, zu dem die geplante Task gestartet wird. Dieses Argument ist ein Zeichenfolgewert, der im "cron"-Format angegeben werden muss.
    • startBy. Bestimmter Zeitraum, in dem eine Task ausgelöst werden kann, bevor sie automatisch abgebrochen wird. Dieses Argument ist ein Zeichenfolgewert, der im "cron"-Format angegeben werden muss.
    • applicationNames. Der Name der IBM Connections-Anwendung(en), die indexiert werden soll(en), wenn die Task ausgelöst wird. Dieses Argument ist ein Zeichenfolgewert. Zur Indexierung mehrerer Anwendungen können Sie eine durch Kommas begrenzte Liste verwenden. Die folgenden Werte sind gültig:
      • ecm_files - Ruft Dateien aus dem Enterprise Content Management-Repository ab. Nur veröffentlichte Dateien werden abgerufen; Entwurfsdateien sind nicht enthalten.
      • files - Ruft Dateien aus der App "Dateien" ab.
      • wikis - Ruft Dateien aus der App "Wikis" ab.
      • activities - Ruft Dateien aus der App "Aktivitäten" ab.
      • forums - Ruft Dateien aus der App "Foren" ab.
    • all_configured. Gibt an, dass die Operation für alle Anwendungen durchgeführt wird.
    • duration. Ein Wert, der in Sekunden angegeben wird. Er gibt die maximal zulässige Ausführungszeit für die Task an.
    Zum Beispiel:
    SearchService.addFileContentIndexingTask("file-indexing-task", "0 1/30 0,2-23 * * ?", "0 10/30 0,2-23 * * ?",
        "activities,files,wikis", "600")

    Wenn der Befehl erfolgreich ausgeführt wird, wird eine 1 (Eins) an die wsadmin-Konsole ausgegeben. Wenn der Befehl nicht erfolgreich ausgeführt wird, wird eine 0 (Null) an die wsadmin-Konsole ausgegeben.

    SearchService.indexFileContentNow(String applicationNames, Integer duration)

    Erstellt eine Task zur Indexierung von Dateiinhalten für eine sofortige Ausführung.

    Dieser Befehl benötigt die folgenden Argumente:
    • applicationNames. Der Name der IBM Connections-Anwendung(en), die indexiert werden soll(en), wenn die Task ausgelöst wird. Dieses Argument ist ein Zeichenfolgewert. Zur Indexierung mehrerer Anwendungen können Sie eine durch Kommas begrenzte Liste verwenden. Die folgenden Werte sind gültig:
      • ecm_files - Ruft Dateien aus dem Enterprise Content Management-Repository ab. Nur veröffentlichte Dateien werden abgerufen; Entwurfsdateien sind nicht enthalten.
      • files - Ruft Dateien aus der App "Dateien" ab.
      • wikis - Ruft Dateien aus der App "Wikis" ab.
      • activities - Ruft Dateien aus der App "Aktivitäten" ab.
      • forums - Ruft Dateien aus der App "Foren" ab.
    • duration. Ein Wert, der in Sekunden angegeben wird. Er gibt die maximal zulässige Ausführungszeit für die Task an.
    Zum Beispiel:
    SearchService.indexFileContentNow("activities,files,wikis", "600")

    Wenn der Befehl erfolgreich ausgeführt wird, wird eine 1 (Eins) an die wsadmin-Konsole ausgegeben. Wenn der Befehl nicht erfolgreich ausgeführt wird, wird eine 0 (Null) an die wsadmin-Konsole ausgegeben.

    SearchService.listFileContentTasks()

    Listet alle geplanten Tasks zum Abrufen von Dateiinhalten auf.

    Dieser Befehl erfordert keine Eingabeparameter.

    SearchService.listFileContentIndexingTasks()

    Listet alle geplanten Tasks zum Abrufen und Indexieren von Dateiinhalten auf.

    Dieser Befehl erfordert keine Eingabeparameter.

    SearchService.enableTask(String taskName)

    Aktiviert die angegebene Task.

    Dieser Befehl akzeptiert ein einziges Argument:
    • taskName. Der Name der Task, die aktiviert werden soll.
    Zum Beispiel:
    SearchService.enableTask("mine")
    SearchService.disableTask(String taskName)

    Inaktiviert die angegebene Task.

    Dieser Befehl akzeptiert ein einziges Argument:
    • taskName. Der Name der Task, die inaktiviert werden soll. Dieses Argument ist ein Zeichenfolgewert.
    Zum Beispiel:
    SearchService.disableTask("mine")