Von Google bereitgestellte Konfigurationsparameter

Jedem Connector ist eine Konfigurationsdatei mit den vom Connector verwendeten Parametern zugeordnet, z. B. die ID für Ihr Repository. Parameter werden als Schlüssel/Wert-Paare definiert, z. B. api.sourceId=1234567890abcdef.

Das Google Cloud Search SDK enthält mehrere von Google bereitgestellte Konfigurationsparameter, die von verschiedenen Connectors verwendet werden. Von den von Google bereitgestellten Konfigurationsparametern müssen in der Konfigurationsdatei nur die Parameter für den Zugriff auf die Datenquelle definiert werden. Sie müssen die von Google bereitgestellten Parameter in Ihrer Konfigurationsdatei nicht neu definieren, es sei denn, Sie möchten deren Standardwerte überschreiben.

In dieser Referenz werden die von Google bereitgestellten Konfigurationsparameter beschrieben.

Beispiel für eine Konfigurationsdatei

Das folgende Beispiel zeigt eine Identitätskonfigurationsdatei mit Parameter-Schlüssel/Wert-Paaren.

#
# Configuration file sample
#
api.sourceId=1234567890abcdef
api.identitySourceId=0987654321lmnopq
api.serviceAccountPrivateKeyFile= ./PrivateKey.json

#
# Traversal schedules
#
schedule.traversalIntervalSecs=7200
schedule.incrementalTraversalIntervalSecs=600
#
# Default ACLs
#
defaultAcl.mode=fallback
defaultAcl.public=true
  

Gängige Parameter

In diesem Abschnitt werden die erforderlichen und optionalen, häufig festgelegten Konfigurationsparameter aufgeführt. Wenn Sie die Werte für die optionalen Parameter nicht ändern, verwendet der Connector die vom SDK bereitgestellten Standardwerte.

Zugriff auf Datenquellen

In der folgenden Tabelle sind alle Parameter aufgeführt, die in einer Konfigurationsdatei enthalten sein müssen. Welche Parameter Sie verwenden, hängt vom Connector-Typ ab, den Sie erstellen (Inhalts- oder Identitätsconnector).

Einstellung Parameter
ID der Datenquelle api.sourceId=1234567890abcdef

Dieser Parameter wird von einem Connector benötigt, um den Speicherort Ihres Repositorys zu ermitteln. Sie erhalten diesen Wert, wenn Sie eine Datenquelle zur Suche hinzugefügt haben. Dieser Parameter muss sich in den Konfigurationsdateien des Connectors befinden.

ID der Identitätsquelle api.identitySourceId=0987654321lmnopq

Dieser Parameter wird von Identitätsconnectors benötigt, um den Speicherort einer externen Identitätsquelle zu ermitteln. Sie haben diesen Wert erhalten, als Sie Nutzeridentitäten in Cloud Search zuordnen. Dieser Parameter muss in allen Konfigurationsdateien des Identitätsconnectors enthalten sein.

Datei mit privatem Schlüssel für das Dienstkonto api.serviceAccountPrivateKeyFile=./PrivateKey.json

Dieser Parameter enthält den privaten Schlüssel, der für den Zugriff auf das Repository erforderlich ist. Sie haben diesen Wert erhalten, als Sie den Zugriff auf die Google Cloud Search REST API konfiguriert haben. Dieser Parameter muss in allen Konfigurationsdateien enthalten sein.

Dienstkonto-ID api.serviceAccountId=123abcdef4567890

Dieser Parameter gibt die Dienstkonto-ID an. Der leere Stringwert ist standardmäßig nur zulässig, wenn in der Konfigurationsdatei ein Parameter für die private Schlüsseldatei angegeben wird. Dieser Parameter ist erforderlich, wenn Ihre private Schlüsseldatei kein JSON-Schlüssel ist.

Google Workspace-Konto-ID api.customerId=123abcdef4567890

Dieser Parameter gibt die Konto-ID für das Google Workspace-Konto des Unternehmens an. Sie haben diesen Wert erhalten, als Sie Nutzeridentitäten in Cloud Search zuordnen. Dieser Parameter ist erforderlich, wenn Nutzer mit einem Identitätsconnector synchronisiert werden.

Stamm-URL api.rootUrl=baseURLPath

Dieser Parameter gibt den Basis-URL-Pfad des Indexierungsdienstes an.

Der Standardwert für diesen Parameter ist ein leerer String, der in https://cloudsearch.googleapis.com konvertiert wird.

Durchlaufpläne

Die Planungsparameter bestimmen, wie oft der Connector zwischen den Durchläufen wartet.

Einstellung Parameter
Durchlauf mit vollständiger Indexierung beim Start des Connectors schedule.performTraversalOnStart=true|false

Beim Start des Connectors wird ein Durchlauf mit vollständiger Indexierung durchgeführt, anstatt zu warten, bis das erste Intervall abläuft. Der Standardwert ist true..

Durchlauf mit vollständiger Indexierung nach Intervall schedule.traversalIntervalSecs=intervalInSeconds

Nach einem bestimmten Intervall wird ein Connectordurchlauf mit vollständiger Indexierung durchgeführt. Geben Sie das Intervall zwischen den Durchläufen in Sekunden an. Der Standardwert ist 86400 (Anzahl der Sekunden eines Tages).

Beenden nach einem einzigen Durchlauf connector.runOnce=true|false

Der Connector führt einmal einen vollständigen Durchlauf und dann den Vorgang aus. Dieser Parameter sollte nur auf true festgelegt werden, wenn Sie eine Strategie mit vollständigem Durchlauf verwenden. Listen- und Grafikstrategien erfordern mehrere Durchläufe, um Änderungen zu erkennen und Inhalte zu indexieren. Der Standardwert ist false. Der Vorgang darf nicht nach einem einzigen Durchlauf beendet werden.

Durchlauf mit Teilindexierung nach einem Intervall schedule.incrementalTraversalIntervalSecs=intervalInSeconds

Der Connector führt nach einem bestimmten Intervall einen inkrementellen Durchlauf durch. Geben Sie das Intervall zwischen den Durchläufen in Sekunden an. Der Standardwert ist 300 (Anzahl der Sekunden in 5 Minuten).

Intervalle für geplante Abfragewarteschlangen schedule.pollQueueIntervalSecs=interval_in_seconds

Das Intervall zwischen den Intervallen für geplante Abfragewarteschlangen (in Sekunden). Er wird nur von einem Connector für Auflistungsdurchläufe verwendet. Der Standardwert ist 10..

Zugriffssteuerungslisten

Der Connector steuert den Zugriff auf Elemente mithilfe von ACLs. Wenn Sie mehrere Parameter verwenden, können Sie den Nutzerzugriff auf indexierte Datensätze mit ACLs schützen.

Wenn Ihrem Repository individuelle ACL-Informationen zugeordnet sind, laden Sie alle ACL-Informationen hoch, um den Zugriff auf Elemente in Cloud Search zu steuern. Wenn Ihr Repository unvollständige oder keine ACL-Informationen bereitstellt, können Sie Standard-ACL-Informationen über die folgenden Parameter angeben, die vom SDK für den Connector bereitgestellt werden.

Einstellung Parameter
ACL-Modus defaultAcl.mode=mode

Legt fest, wann die Standard-ACL angewendet wird. Zulässige Werte:

  • none: keine Standard-ACL verwenden (in diesem Modus können Einträge nur durchsucht werden, wenn Sie einzelne ACLs definieren).
  • fallback: Standard-ACL nur verwenden, wenn noch keine ACL vorhanden ist
  • append: einer vorhandenen ACL die Standard-ACL hinzufügen
  • override: Vorhandene ACL durch Standard-ACL ersetzen

Der Standardmodus ist none.

Öffentliche Standard-ACL defaultAcl.public=true|false

Die Standard-ACL, die für das gesamte Repository verwendet wird, ist auf Public Domain-Zugriff festgelegt. Der Standardwert ist false. .

Allgemeine ACL-Gruppenleser defaultAcl.readers.groups=google:group1@mydomain.com, group2
Allgemeine ACL für Nutzer mit Leseberechtigung defaultAcl.readers.users=user1, user2, google:user3@mydomain.com
Allgemeine ACL für Gruppen ohne Leseberechtigung defaultAcl.denied.groups=group3
Allgemeine ACL für Nutzer ohne Leseberechtigung defaultAcl.denied.users=user4, user5
Zugriff auf gesamte Domain Wenn Sie angeben möchten, dass jeder indexierte Datensatz für jeden Nutzer in der Domain öffentlich zugänglich ist, legen Sie die beiden folgenden Parameter mit Werten fest:
  • defaultAcl.mode=override
  • defaultACL.public=true
Allgemein definierte ACL Um eine ACL für jeden Datensatz des Daten-Repositorys anzugeben, legen Sie alle folgenden Parameterwerte fest:
  • defaultAcl.mode=fallback
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1@mydomain.com, group2 code>
  • defaultAcl.readers.users=user1@mydomain.com, user2, google:user3@mydomain.com
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    Es wird angenommen, dass jeder angegebene Nutzer und jede angegebene Gruppe eine lokale Domain ist, die als Nutzer bzw. Gruppe definiert ist, es sei denn, das Präfix „google:“ (Literalkonstante) lautet.

    Der Standardnutzer oder die Standardgruppe ist ein leerer String. Geben Sie Nutzer- und Gruppenparameter nur an, wenn defaultAcl.public auf false gesetzt ist. Verwenden Sie durch Kommas getrennte Listen, um mehrere Gruppen und Nutzer aufzulisten.

    Wenn defaultAcl.mode auf none gesetzt ist, können Datensätze ohne definierte individuelle ACLs nicht gesucht werden.

Konfigurationsparameter für Metadaten

Einige der Objektmetadaten sind konfigurierbar. Connectors können während der Indexierung konfigurierbare Metadatenfelder festlegen. Falls der Connector kein Feld festlegt, wird das Feld anhand der Parameter in Ihrer Konfigurationsdatei festgelegt.

Die Konfigurationsdatei enthält eine Reihe benannter Metadatenkonfigurationsparameter, die durch ein .field-Suffix gekennzeichnet sind, z. B. itemMetadata.title.field=movieTitle. Wenn ein Wert für diese Parameter vorhanden ist, wird er zum Konfigurieren des Metadatenfelds verwendet. Wenn für den benannten Metadatenparameter kein Wert vorhanden ist, werden die Metadaten mit einem Parameter mit dem Suffix .defaultValue konfiguriert.

Die folgende Tabelle enthält Metadaten-Konfigurationsparameter.

Einstellung Parameter
Titel itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
Titel des Elements Wenn für title.field kein Wert festgelegt ist, wird der Wert für title.defaultValue verwendet.
Quell-Repository-URL itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
Die in den Suchergebnissen verwendete Artikel-URL. Sie können die defaultValue einfach so festlegen, dass sie eine URL für das gesamte Repository enthält, z. B. wenn Ihr Vertreter eine CSV-Datei hat und es nur eine URL für jedes Element gibt. Wenn für sourceRepositoryUrl.field kein Wert festgelegt ist, wird der Wert für sourceRepositoryUrl.defaultValue verwendet.
Containername itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
Der Name des Containers des Elements, z. B. der Name eines Dateisystemverzeichnisses oder -ordners. Wenn für containerName.field kein Wert festgelegt ist, wird der Wert für containerName.defaultValue verwendet.
Objekttyp itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie
Der Objekttyp, der vom Connector verwendet wird, wie im Schema definiert. Wenn diese Eigenschaft nicht angegeben ist, indexiert der Connector keine strukturierten Daten.
Wenn für objectType.field kein Wert festgelegt ist, wird der Wert für objectType.defaultValue verwendet.
Erstellt am itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Zeitstempel der Dokumenterstellung. Wenn für createTime.field kein Wert festgelegt ist, wird der Wert für createTime.defaultValue verwendet.
Aktualisiert am itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Der Zeitstempel der letzten Änderung des Elements. Wenn für updateTime.field kein Wert festgelegt ist, wird der Wert für updateTime.defaultValue verwendet.
Content-Language itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
Die Inhaltssprache der indexierten Dokumente. Wenn für contentLanguage.field kein Wert festgelegt ist, wird der Wert für contentLanguage.defaultValue verwendet.
MIME-Typ itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=image/bmp
Der ursprüngliche MIME-Typ von ItemContent.content im Quell-Repository. Die maximale Länge beträgt 256 Zeichen. Wenn für mimeType.field kein Wert festgelegt ist, wird der Wert für mimeType.defaultValue verwendet.
Metadaten zur Suchqualität itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=1
Gibt die Qualität des Elements an, die zur Beeinflussung der Suchqualität verwendet wird. Der Wert sollte zwischen 0,0 (niedrigste Qualität) und 1,0 (höchste Qualität) liegen. Der Standardwert ist 0,0. Wenn für quality.field kein Wert festgelegt ist, wird der Wert für quality.defaultValue verwendet.
Hash itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
Hash-Wert, der vom API-Aufrufer bereitgestellt wird. Dies kann mit der Methode items.push verwendet werden, um den geänderten Status zu berechnen. Die maximale Länge beträgt 2.048 Zeichen. Wenn für hash.field kein Wert festgelegt ist, wird der Wert für hash.defaultValue verwendet.

Datums-/Uhrzeitformate

Datum/Uhrzeit-Formate geben die in Metadatenattributen erwarteten Formate an. Wenn die Konfigurationsdatei diesen Parameter nicht enthält, werden Standardwerte verwendet. In der folgenden Tabelle sehen Sie diesen Parameter.

Einstellung Parameter
Zusätzliche Datum/Uhrzeit-Formate structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Eine durch Semikolons getrennte Liste zusätzlicher java.time.format.DateTimeFormatter-Muster. Die Muster werden beim Parsen von Stringwerten für Datums- oder Datum-Uhrzeitfelder in den Metadaten oder im Schema verwendet. Der Standardwert ist eine leere Liste. Die Formate RFC 3339 und RFC 1123 werden jedoch immer unterstützt.

Strukturierte Daten

Die Cloud Search Indexing API bietet einen Schemadienst, mit dem Sie anpassen können, wie Cloud Search Ihre Daten indexiert und bereitstellt. Wenn Sie ein Schema für ein lokales Repository verwenden, müssen Sie den Namen des lokalen Schemas für strukturierte Daten angeben.

Einstellung Parameter
Name des lokalen Schemas structuredData.localSchema=mySchemaName

Der Schemaname wird aus der Datenquelle gelesen und für strukturierte Repository-Daten verwendet.

Der Standardwert ist ein leerer String.

Inhalts- und Suchqualität

Bei Repositories, die eintrags- oder feldbasierte Inhalte enthalten (z. B. CRM-, CSV- oder Datenbank), ermöglicht das SDK die automatische HTML-Formatierung von Datenfeldern. Die Datenfelder werden zu Beginn der Connector-Ausführung vom Connector definiert. Anschließend werden die Datensätze mithilfe einer Inhaltsvorlage formatiert, bevor sie in Cloud Search hochgeladen werden.

Die Inhaltsvorlage definiert die Wichtigkeit jedes Feldwerts für die Suche. Das HTML-Feld <title> ist erforderlich und hat die höchste Priorität. Für alle anderen Inhaltsfelder können Sie die Wichtigkeitsstufen der Suchqualität festlegen: hoch, mittel oder niedrig. Jedes Inhaltsfeld, das nicht in einer bestimmten Kategorie definiert ist, hat standardmäßig eine niedrige Priorität.

Einstellung Parameter
HTML-Titel des Inhalts contentTemplate.templateName.title=myTitleField

Der HTML-Titel des Inhalts und Feld mit der höchsten Suchqualität. Dieser Parameter ist nur erforderlich, wenn Sie eine Vorlage für HTML-Inhalte verwenden. Der Standardwert ist ein leerer String.

Hohe Suchqualität für Inhaltsfelder contentTemplate.templateName.quality.high=hField1,hField2

Inhaltsfelder mit einer hohen Suchpriorität. Der Standardwert ist ein leerer String.

Mittlere Suchqualität für Inhaltsfelder contentTemplate.templateName.quality.medium=mField1,mField2

Inhaltsfelder mit einer mittleren Suchpriorität. Der Standardwert ist ein leerer String.

Geringe Suchqualität für Inhaltsfelder contentTemplate.templateName.quality.low=lField1,lField2

Inhaltsfelder mit niedriger Suchpriorität. Der Standardwert ist ein leerer String.

Nicht angegebene Inhaltsfelder contentTemplate.templateName.unmappedColumnsMode=value

Die Vorgehensweise des Connectors bei nicht spezifizierten Inhaltsfeldern. Gültige Werte sind:

  • APPEND: Fügt der Vorlage nicht spezifizierte Inhaltsfelder hinzu
  • IGNORE: Nicht angegebene Inhaltsfelder werden ignoriert

    Der Standardwert ist APPEND.

Feldnamen in HTML-Vorlage einschließen contentTemplate.templateName.includeFieldName=true|false

Gibt an, ob die Feldnamen zusammen mit den Felddaten in der HTML-Vorlage verwendet werden sollen. Der Standardwert ist true und sorgt dafür, dass die Feldnamen als Teil der Inhaltsdaten suchbar sind.

Selten festgelegte Parameter

Die in diesem Abschnitt aufgeführten Parameter müssen Sie nur selten festlegen. Die Standardeinstellungen der Parameter sind für eine optimale Leistung festgelegt. Es wird nicht empfohlen, diese Parameter ohne spezielle Anforderungen in Ihrem Repository auf Werte festzulegen, die sich von ihren Standardwerten unterscheiden.

Proxykonfiguration

Mit dem SDK können Sie den Connector so konfigurieren, dass für ausgehende Verbindungen ein Proxy verwendet wird.

Die Parameter transport.proxy.hostname und transport.proxy.port sind erforderlich, um die Übertragung über einen Proxy zu ermöglichen. Die anderen Parameter sind möglicherweise erforderlich, wenn Ihr Proxy eine Authentifizierung erfordert oder über das SOCKS-Protokoll statt über HTTP arbeitet. Wenn transport.proxy.hostname nicht festgelegt ist, verwendet das SDK keinen Proxy.

Einstellung Parameter
Hostname transport.proxy.hostname=hostname

Der Hostname für den Proxyserver. Dieser Parameter ist bei Verwendung eines Proxys erforderlich.

Port transport.proxy.port=port

Die Portnummer für den Proxyserver. Dieser Parameter ist bei Verwendung eines Proxys erforderlich.

Proxytyp transport.proxy.type=type

Der Proxytyp. Gültige Werte sind:

  • HTTP: Der Proxy nimmt Anfragen über HTTP an und leitet sie weiter.
  • SOCKS: Der Proxy nimmt Pakete über das SOCKS-Protokoll an und leitet sie weiter.

Der Standardwert ist HTTP.

Nutzername transport.proxy.username=username

Der Nutzername, der beim Erstellen eines Proxy-Autorisierungstokens verwendet werden soll. Dieser Parameter ist optional und sollte nur festgelegt werden, wenn Ihr Proxy eine Authentifizierung erfordert.

Passwort transport.proxy.password=password

Das Passwort, das beim Erstellen eines Proxy-Autorisierungstokens verwendet werden soll. Dieser Parameter ist optional und sollte nur festgelegt werden, wenn Ihr Proxy eine Authentifizierung erfordert.

Traversen

Mit dem SDK können Sie mehrere individuelle Durchläufe festlegen, um parallele Durchläufe eines Daten-Repositorys zu ermöglichen. Die SDK-Vorlagen-Connectors verwenden diese Funktion.

Einstellung Parameter
Größe des Threadpools traverse.threadPoolSize=size

Anzahl der Threads, die vom Connector für die parallele Verarbeitung erstellt werden. Ein einzelner Iterator ruft Vorgänge nacheinander ab (in der Regel RepositoryDoc-Objekte), die API ruft jedoch Prozesse parallel auf und verwendet diese Anzahl von Threads.

Der Standardwert ist 5.

Partitionsgröße traverse.partitionSize=batchSize

Anzahl der ApiOperation(), die in Batches verarbeitet werden sollen, bevor weitere APIOperation abgerufen werden.

Der Standardwert ist 50.

Durchlaufanfrage-Umfrageanfragen

Der Kern der Cloud Search-Indexierungswarteschlange ist eine Prioritätswarteschlange, die für jedes bekannte Element einen Eintrag enthält. Ein Connector für Einträge kann Elemente von der Indexierungs-API abfragen. Bei einer Abfrageanfrage werden die Einträge mit der höchsten Priorität aus der Indexierungswarteschlange abgerufen.

Die folgenden Parameter werden in der Connector-Vorlage für SDK-Einträge verwendet, um Abfrageparameter zu definieren.

Einstellung Parameter
Repository-Durchsucher repository.traversers=t1, t2, t3, ...

Erstellt einen oder mehrere einzelne Durchsucher, wobei t1, t2, t3, ... der eindeutige Name jedes einzelnen Traversers ist. Jeder Traverser hat eigene Einstellungen, die durch den eindeutigen Namen des Traversers identifiziert werden, z. B. traversers.t1.hostload und traversers.t2.hostload.

Abzurufende Warteschlange traverser.pollRequest.queue=mySpecialQueue

Warteschlangennamen, die von diesem Durchsucher abgefragt werden. Der Standardwert ist ein leerer String (impliziert „Standard“).

traverser.t1.pollRequest.queue=mySpecialQueue

Wenn Sie mehrere Durchläufer haben, legen Sie den Status des Elements für jeden Durchsucher fest, wobei t1 für einen bestimmten Durchsucher steht.

Abfrageverhalten traverser.pollRequest.limit=maxItems

Maximale Anzahl von Elementen, die von einer Abfrageanfrage zurückgegeben werden sollen. Der Standardwert ist 0 (impliziert das API-Maximum).

traverser.t1.pollRequest.limit=limit

Wenn Sie mehrere Durchläufer haben, legen Sie den Status des Elements für jeden Durchsucher fest, wobei t1 für einen bestimmten Durchsucher steht.

Artikelstatus traverser.pollRequest.statuses=statuses

Die Status des jeweiligen Elements, die von diesem Durchlaufer abgefragt werden, wobei statuses eine beliebige Kombination aus MODIFIED, NEW_ITEM (durch Kommas getrennt) sein kann. Der Standardwert ist ein leerer String (impliziert alle Statuswerte).

traverser.t1.pollRequest.statuses=statusesForThisTraverser

Wenn Sie mehrere Durchsucher haben, legen Sie den Status des Elements für jeden Durchsucher fest, wobei t1 einen bestimmten Durchsucher darstellt.

Hostlast traverser.hostload=threads

Maximale Anzahl aktiver paralleler Threads, die für das Abfragen verfügbar sind. Der Standardwert ist 5.

traverser.t1.hostload=threadsForThisTraverser

Wenn Sie mehrere Durchsucher haben, legen Sie den Status des Elements für jeden Durchsucher fest, wobei t1 einen bestimmten Durchsucher darstellt.

Zeitlimit traverser.timeout=timeout

Zeitüberschreitungswert zur Unterbrechung dieses Durchlaufversuchs.

Der Standardwert ist 60.

traverser.t1.timeout=timeoutForThisTraverser

Wenn Sie mehrere Durchsucher haben, legen Sie den Status des Elements für jeden Durchsucher fest, wobei t1 einen bestimmten Durchsucher darstellt.

traverser.timeunit=timeoutUunit

Die Zeitüberschreitungseinheiten. Gültige Werte: SECONDS, MINUTES,

traverser.t1.timeunit=timeoutUnit

Wenn Sie mehrere Durchsucher haben, legen Sie den Status des Elements für jeden Durchsucher fest, wobei t1 einen bestimmten Durchsucher darstellt.

In den meisten Fällen ist für einen Connector, der die Connector-Vorlage für den SDK-Eintrag verwendet, nur ein einziger Parametersatz für Abfragen erforderlich. In einigen Fällen müssen Sie möglicherweise mehr als ein Abfragekriterium definieren, wenn Ihr Durchlaufalgorithmus beispielsweise eine Trennung der Elementverarbeitung in verschiedenen Warteschlangen erfordert.

In diesem Fall haben Sie die Möglichkeit, mehrere Sätze von Abfrageparametern zu definieren. Geben Sie zuerst die Namen der Parametersätze mithilfe von repository.traversers an. Geben Sie für jeden definierten Traverser-Namen die Konfigurationsdatei mit den Parametern aus der obigen Tabelle an. Ersetzen Sie dabei t1 durch den Namen des Traversers. Dadurch wird eine Reihe von Abfrageparametern für jeden definierten Traverser erstellt.

Prüfpunkte

Ein Prüfpunkt ist nützlich, um den Status eines inkrementellen Durchlaufs zu verfolgen.

Einstellung Parameter
Checkpoint-Verzeichnis connector.checkpointDirectory=/path/to/checkpoint

Gibt den Pfad zum lokalen Verzeichnis an, der für die Prüfpunkte für inkrementelle und vollständige Durchläufe verwendet werden soll.

Uploads von Inhalten

Der Inhalt eines Elements wird zusammen mit dem Element in Cloud Search hochgeladen, wenn seine Größe den angegebenen Grenzwert nicht überschreitet. Wenn die Größe des Inhalts den Grenzwert überschreitet, wird er getrennt von den Metadaten und strukturierten Daten des Objekts hochgeladen.

Einstellung Parameter
Grenzwert für Inhalte api.contentUploadThresholdBytes=bytes

Der Schwellenwert für Inhalte, die bestimmt, ob diese „direkt mit dem Artikel“ und nicht mit einem separaten Upload hochgeladen werden.

Der Standardwert ist 100000 (~100 KB).

Container

Die vollständige Connector-Vorlage verwendet einen Algorithmus, der auf dem Konzept einer temporären Ein-/Aus-Schaltfläche für Datenquellen basiert, um gelöschte Datensätze in der Datenbank zu erkennen. Bei jedem Durchlauf mit vollständiger Indexierung ersetzen die abgerufenen Datensätze in einer neuen Warteschlange alle vorhandenen Cloud Search-Einträge, die aus dem vorherigen Durchlauf indexiert wurden und sich in einer alten Warteschlange befinden.

Einstellung Parameter
Container-Name-Tag traverse.queueTag=instance

Wenn Sie mehrere Instanzen des Connectors parallel ausführen möchten, um ein gemeinsames Daten-Repository zu indexieren (sei es in verschiedenen Daten-Repositories oder separaten Teilen eines gemeinsamen Daten-Repositorys), ohne einander zu beeinträchtigen, weisen Sie jeder Ausführung des Connectors ein eindeutiges Container-Namens-Tag zu. Ein eindeutiges Namens-Tag verhindert, dass eine Connector-Instanz die Datensätze eines anderen Nutzers löscht.

Das Name-Tag wird an die Ein-/Aus-Schaltfläche für die Ein-/Aus-Schaltfläche des Connectors für den vollständigen Durchlauf angehängt.

Löscherkennung deaktivieren traverse.useQueues=true|false

Gibt an, ob der Connector für die Löscherkennung eine Ein-/Aus-Logik für Warteschlangen verwendet.

Der Standardwert ist true. Dieser gibt an, dass Warteschlangen verwendet werden sollen.

Hinweis: Dieser Konfigurationsparameter gilt nur für Connectors, die die Vorlage FullTraversalConnector implementieren.

Batchrichtlinie

Das SDK unterstützt eine Batchrichtlinie, mit der Sie die folgenden Aktionen ausführen können:

  • Batchanfragen
  • Anzahl der Anfragen in einer Batchwarteschlange angeben
  • Gleichzeitig ausgeführte Batches verwalten
  • Batchanfragen leeren

Das SDK fasst die Anfragen des Connectors in Batches zusammen, um den Durchsatz während des Uploads zu beschleunigen. Der SDK-Trigger zum Hochladen eines Batches von Anfragen erfolgt entweder nach der Anzahl der Anfragen oder nach dem Zeitlimit, je nachdem, was zuerst eintritt. Wenn beispielsweise die Batchverzögerungszeit abgelaufen ist, ohne dass die Batchgröße erreicht wurde, oder wenn die Anzahl der Elemente in der Batchgröße vor Ablauf der Verzögerungszeit erreicht wird, wird der Batch-Upload ausgelöst.

Einstellung Parameter
Batchanfragen batch.batchSize=batchSize

Batchanfragen Der Standardwert ist 10.

Anzahl der Anfragen in einer Batchwarteschlange batch.maxQueueLength=maxQueueLength

Maximale Anzahl von Anfragen in einer Batchwarteschlange zur Ausführung. Der Standardwert ist 1000..

Gleichzeitige Ausführung von Batches batch.maxActiveBatches=maxActiveBatches

Anzahl der zulässigen gleichzeitig ausgeführten Batches. Der Standardwert ist 20.

Batchanfragen automatisch leeren batch.maxBatchDelaySeconds=maxBatchDelay

Anzahl der Sekunden, die gewartet werden soll, bevor Batchanfragen automatisch geleert werden. Der Standardwert ist 5.

Batchanfragen beim Herunterfahren leeren batch.flushOnShutdown=true|false

Batchanfragen während des Herunterfahrens des Dienstes leeren Der Standardwert ist true.

Ausnahme-Handler

Die Parameter des Ausnahme-Handlers bestimmen, wie der Traverser weitergeht, nachdem eine Ausnahme erkannt wurde.

Einstellung Parameter
Durchlaufanweisung im Fall eines Fehlers traverse.exceptionHandler=exceptions

Legt fest, wie der Traverser nach dem Auslösen einer Ausnahme verfahren soll. Gültige Werte sind:

  • 0: Der Durchlauf wird immer abgebrochen, wenn eine Ausnahme aufgetreten ist.
  • num_exceptions (z. B. 10) – Abbruch, nachdem der Traverser die angegebene num_exceptions erreicht hat.

    Der Standardwert ist 0 (immer bei einem Fehler abbrechen).

  • ignore: Fehler ignorieren
Wartezeit zwischen Ausnahmen abortExceptionHander.backoffMilliSeconds=backoff

Die Backoff-Zeit in Millisekunden für den Abstand zwischen erkannten Handler-Ausnahmen (wird normalerweise beim Durchsuchen eines Repositorys verwendet). Der Standardwert ist 10.