Google 提供の構成パラメータ

すべてのコネクタには、コネクタが使用するパラメータを含む構成ファイルが関連付けられています。 たとえばリポジトリの ID などですパラメータは、次のように Key-Value ペアとして定義されます。 api.sourceId=1234567890abcdef

Google Cloud Search SDK には、Google 提供の構成がいくつか含まれています。 使用されるパラメータを定義します。Google 提供の構成パラメータのうち モジュールで定義する必要があるのは、データソースのアクセス パラメータのみです。 構成ファイルが更新されます。Google 提供のパラメータを再定義する必要はありません。 デフォルト値をオーバーライドする場合以外は構成ファイルを使用します。

このリファレンスでは、Google 提供の構成パラメータについて説明します。

構成ファイルの例

次の例は、パラメータの Key-Value ペアを含む ID 構成ファイルを示しています。

#
# 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
  

一般的に設定されるパラメータ

このセクションでは、必須および省略可能な、一般的に設定される構成パラメータを示します。この操作を オプション パラメータの値を変更する場合、コネクタはデフォルト値 使用できます。

データソース アクセス

次の表に、構成に含める必要があるすべてのパラメータを示します。 表示されます。使用するパラメータは、作成するコネクタの種類(コンテンツ コネクタ)によって異なります。 ID コネクタなど)が使用されます。

設定 パラメータ
データソースの ID api.sourceId=1234567890abcdef

このパラメータは、コネクタによって リポジトリの場所を指定します。この値は、 検索するデータソースを追加しました。 このパラメータは、コネクタ構成ファイルに含める必要があります。

ID ソースの ID api.identitySourceId=0987654321lmnopq

このパラメータは、ID コネクタで 外部 ID ソースの場所を指定しますこの値は、 Cloud Search でユーザー ID をマッピングするをご覧ください。 このパラメータは、すべての ID コネクタ構成ファイルに含める必要があります。

サービス アカウントの秘密鍵ファイル api.serviceAccountPrivateKeyFile=./PrivateKey.json

このパラメータには、必要な秘密鍵が格納される リポジトリにアクセスします。この値は、 Google Cloud Search REST リソースへの API。このパラメータは、すべての構成ファイルに含める必要があります。

サービス アカウント ID api.serviceAccountId=123abcdef4567890

このパラメータでは、サービス アカウント あります。デフォルトの空の文字列値は、構成ファイルが 秘密鍵のファイル パラメータを指定します。秘密鍵ファイルが Cloud Storage バケットに JSON キーではありません。

Google Workspace アカウント ID api.customerId=123abcdef4567890

このパラメータでは、企業の Google Workspace アカウントのアカウント ID を指定します。取得: この値をユーザー グループに ID を確認するをご覧ください。このパラメータは、 ID コネクタを使用します。

ルート URL api.rootUrl=baseURLPath

このパラメータは、インデックス サービスのベース URL パスを指定します。

このパラメータのデフォルト値は空の文字列で、 https://cloudsearch.googleapis.com

走査スケジュール

スケジュール関連のパラメータでは、コネクタの走査間隔(頻度)を指定します。

設定 パラメータ
コネクタの起動時にフル走査 schedule.performTraversalOnStart=true|false

コネクタは、起動時にフル走査を実行するのではなく、 最初の間隔が期限切れになりますデフォルト値は true. です。

一定時間経過後にフル走査 schedule.traversalIntervalSecs=intervalInSeconds

コネクタは、指定された時間が経過するとフル走査を実行します。具体的な 走査の間隔(秒単位)。デフォルト値は 86400 です。 (1 日の秒数)。

1 回の走査の後に終了する connector.runOnce=true|false

コネクタはフル走査を 1 回実行し、終了します。このパラメータは、 フル走査戦略を使用している場合は、true に設定します。リストとグラフ 戦略では、変更を検出してコンテンツをインデックスに登録するために複数の走査が必要になります。デフォルト 値が false である(1 回の走査の後に終了しないでください)。

一定時間経過後の増分走査 schedule.incrementalTraversalIntervalSecs=intervalInSeconds

コネクタは、指定された間隔の後、増分走査を実行します。 走査から次の走査までの時間間隔を秒単位で指定します。デフォルト値は 300(5 分の秒数)。

スケジュールされたポーリング キューの間隔 schedule.pollQueueIntervalSecs=interval_in_seconds

スケジュールされたポーリング キューの間隔(秒単位)。これは、 リスティング走査コネクタだけですデフォルト値は 10. です。

アクセス制御リスト

コネクタは ACL を使用してアイテムへのアクセスを制御します。複数のパラメータ を使用すると、インデックス付きレコードへのユーザー アクセスを ACL で保護できます。

各アイテムに関連付けられた個別の ACL 情報がリポジトリにある場合、 すべての ACL 情報をアップロードして Cloud Search 内のアイテムへのアクセスを制御する。条件 ACL 情報が一部またはまったく提供されていない場合、デフォルトの ACL 情報を 次のパラメータの ACL 情報: SDK が あります

設定 パラメータ
ACL モード defaultAcl.mode=mode

デフォルトの ACL を適用するタイミングを決定します。有効な値:

  • none: デフォルトの ACL を使用しません(このモードでは、レコードは (個々の ACL を定義しない限り検索できません)
  • fallback: ACL が存在しない場合にのみデフォルトの ACL を使用します。
  • append: デフォルトの ACL を既存の ACL に追加する
  • override: 既存の ACL をデフォルトの ACL に置き換えます。

デフォルトのモードは none です。

デフォルトのパブリック ACL defaultAcl.public=true|false

リポジトリ全体に使用されるデフォルトの ACL はパブリック ドメイン アクセスに設定されています。 デフォルト値は false. です。

共通の ACL グループ リーダー defaultAcl.readers.groups=google:group1@mydomain.com, group2
一般的な ACL リーダー defaultAcl.readers.users=user1, user2, google:user3@mydomain.com
一般的な ACL 拒否グループ リーダー defaultAcl.denied.groups=group3
一般的な ACL が拒否するリーダー defaultAcl.denied.users=user4, user5
ドメイン全体のアクセス すべてのインデックス付きレコードがすべてのユーザーがアクセスできるように指定する 次の両方のパラメータに値を設定します。 <ph type="x-smartling-placeholder">
    </ph>
  • defaultAcl.mode=override
  • defaultACL.public=true
共通定義 ACL データ リポジトリのレコードごとに 1 つの ACL を指定するには、 次のパラメータ値を使用します。 <ph type="x-smartling-placeholder">
    </ph>
  • 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

    指定したすべてのユーザーとグループは、ローカル ドメインで定義される ユーザー/グループ(先頭に「google:」が付いていない場合)(リテラル定数)。

    デフォルトのユーザーまたはグループは空の文字列です。ユーザー パラメータとグループ パラメータのみを指定する defaultAcl.publicfalse に設定されている場合。複数の 使用する場合は、カンマ区切りのリストを使用します。

    defaultAcl.modenone に設定されている場合、レコードは ACL を個別に定義しないと検索できません。

メタデータ構成パラメータ

一部のアイテム メタデータは構成可能です。コネクタは構成可能なメタデータ フィールドを 説明します。コネクタでフィールドが設定されていない場合は、構成ファイル内のパラメータが使用されます。 指定する必要があります

構成ファイルには、一連の名前付きメタデータ構成パラメータがあり、 .field サフィックス(例: itemMetadata.title.field=movieTitle。これらの値について メタデータ フィールドの構成に使用します。予測値に値がない場合、 指定した場合、メタデータは、Terraform で定義したパラメータと .defaultValue 接尾辞)。

次の表に、メタデータ構成パラメータを示します。

設定 パラメータ
タイトル itemMetadata.title.field=movieTitle itemMetadata.title.defaultValue=Gone with the Wind

商品アイテムのタイトル。title.field に値が設定されていない場合、 title.defaultValue が使用されます。
ソース リポジトリの URL itemMetadata.sourceRepositoryUrl.field=url itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/

検索結果で使用される商品アイテムの URL。たとえば、defaultValue を リポジトリ全体の URL(リポジトリが CSV ファイルで、1 つしかない場合など) すべての商品アイテムの URL。sourceRepositoryUrl.field が設定されていない場合 sourceRepositoryUrl.defaultValue の値が使用されます。
コンテナ名 itemMetadata.containerName.field=containerName itemMetadata.containerName.defaultValue=myDefaultContainerName

アイテムのコンテナの名前(ファイル システムのディレクトリやフォルダの名前など)。条件 containerName.field が値に設定されていない場合、 containerName.defaultValue が使用されます。
オブジェクト タイプ itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie
コネクタで使用されるオブジェクト タイプ( スキーマをご覧ください。 このプロパティが指定されていない場合、コネクタは構造化データをインデックスに登録しません。
objectType.field に値が設定されていない場合、 objectType.defaultValue が使用されます。
作成日時 itemMetadata.createTime.field=releaseDate itemMetadata.createTime.defaultValue=1940-01-17

ドキュメント作成タイムスタンプ。createTime.field に値が設定されていない場合、 createTime.defaultValue の値が使用されます。
更新日時 itemMetadata.updateTime.field=releaseDate itemMetadata.updateTime.defaultValue=1940-01-17

アイテムの最終変更タイムスタンプ。updateTime.field が設定されていない場合 updateTime.defaultValue の値が使用されます。
コンテンツの言語 itemMetadata.contentLanguage.field=languageCode itemMetadata.contentLanguage.defaultValue=en-US

インデックス登録されるドキュメントのコンテンツ言語。contentLanguage.field 値が設定されていない場合は、contentLanguage.defaultValue の値が使用されます。
MIME タイプ itemMetadata.mimeType.field=mimeType itemMetadata.mimeType.defaultValue=image/bmp

ソース リポジトリ内の ItemContent.content の元の MIME タイプ。最大文字数は 256 文字。mimeType.field に値が設定されていない場合、 mimeType.defaultValue が使用されます。
検索品質メタデータ itemMetadata.searchQualityMetadata.quality.field=quality itemMetadata.searchQualityMetadata.quality.defaultValue=1

商品アイテムの質を示す指標で、検索の質に影響します。次の値を指定してください 0.0(最低品質)~ 1.0(最高品質)の間で指定します。デフォルト値は 0.0 です。もし quality.field に値が設定されていないため、 quality.defaultValue が使用されます。
ハッシュ itemMetadata.hash.field=hash itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2

API 呼び出し元が提供するハッシュ化値。これは 変更された状態を計算する items.push メソッド。最大長は 2,048 文字です あります。hash.field に値が設定されていない場合、 hash.defaultValue が使用されます。

日時書式

日時書式は、期待される書式をメタデータ属性で指定するものです。構成ファイルが にこのパラメータが含まれていない場合は、デフォルト値が使用されます。このパラメータを次の表に示します。

設定 パラメータ
追加の日時書式 structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
追加の java.time.format.DateTimeFormatter をセミコロンで区切ったリスト パターンです。このパターンは、日付フィールドまたは日時フィールドの文字列値を解析するときに使用されます 必要があります。デフォルト値は空のリストですが、RFC 3339 と RFC 1123 は 形式は常にサポートされます。

構造化データ

Cloud Search Indexing API は、スキーマ サービスを使用して次の目的で使用できます。 Cloud Search でのデータのインデックス登録と表示の方法をカスタマイズできます。複数の 使用する場合は、ローカル リポジトリの構造化データを 指定します。

設定 パラメータ
ローカル スキーマ名 structuredData.localSchema=mySchemaName

スキーマ名がデータソースから読み取られ、リポジトリに使用される 実装します。

デフォルトは空の文字列です。

コンテンツと検索の質

レコードまたは項目ベースのコンテンツを含むリポジトリ(CRM、CVS、 (またはデータベース)の場合、SDK ではデータ フィールドの自動 HTML フォーマットを使用できます。お客様の コネクタは、コネクタ実行の開始時にデータ フィールドを定義します。 次に、コンテンツ テンプレートを使用して各データレコードをフォーマットしてから、 Cloud Search。

コンテンツ テンプレートでは、検索における各フィールド値の重要度を定義します。 HTML <title> フィールドは必須で、最も高い優先度として定義されています。Google Chat では その他すべてのコンテンツ フィールドに対して、検索品質の重要度レベルを指定します。 高、中、低です特定のカテゴリに定義されていないコンテンツ フィールド デフォルトは低優先度です

設定 パラメータ
コンテンツの HTML タイトル contentTemplate.templateName.title=myTitleField

コンテンツの HTML タイトルと検索品質が最も高いフィールド。このパラメータは必須です HTML コンテンツ テンプレートを使用している場合のみ有効です。デフォルト値は空です。 使用します。

コンテンツ フィールドの検索品質が高い contentTemplate.templateName.quality.high=hField1,hField2

検索優先度が高いコンテンツ フィールド。デフォルトは空の文字列です。

コンテンツ フィールドの検索品質は中程度 contentTemplate.templateName.quality.medium=mField1,mField2

検索優先度が「中」のコンテンツ フィールド。デフォルトは空の文字列です。

コンテンツ フィールドの検索品質が低い contentTemplate.templateName.quality.low=lField1,lField2

検索優先度が低いコンテンツ フィールド。デフォルトは空の文字列です。

未指定のコンテンツ フィールド contentTemplate.templateName.unmappedColumnsMode=value

コネクタが未指定のコンテンツ フィールドを処理する方法。有効な値は次のとおりです。

  • APPEND - 未指定のコンテンツ フィールドをテンプレートに追加する
  • IGNORE - 未指定のコンテンツ フィールドを無視

    デフォルト値は APPEND です。

HTML テンプレートにフィールド名を含める contentTemplate.templateName.includeFieldName=true|false

HTML にフィールド データとともにフィールド名を含めるかどうかを指定します。 使用します。デフォルトは true です。これにより、フィールド名が検索可能になります。 コンテンツデータの一部として使用できます

一般的でないパラメータの設定

このセクションに記載されているパラメータの設定が必要になることは、ほとんどありません。パラメータのデフォルトは次のとおりです。 パフォーマンスが最適化されますこれらのパラメータを 値が異なる場合があります。 できます。

プロキシの構成

SDK を使用すると、送信接続にプロキシを使用するようにコネクタを構成できます。

transport.proxy.hostname パラメータと transport.proxy.port パラメータは次のとおりです。 必要があります。他のパラメータも必須となる場合があります プロキシが認証を必要とするか、HTTP ではなく SOCKS プロトコルを介して動作している場合。条件 transport.proxy.hostname が設定されていない場合、SDK はプロキシを使用しません。

設定 パラメータ
ホスト名 transport.proxy.hostname=hostname

プロキシ サーバーのホスト名。このパラメータは、プロキシを使用する場合は必須です。

ポート transport.proxy.port=port

プロキシ サーバーのポート番号。このパラメータは、プロキシを使用する場合は必須です。

プロキシの種類 transport.proxy.type=type

プロキシのタイプ。有効な値は次のとおりです。

  • HTTP - プロキシは HTTP 経由でリクエストを受け入れて転送します。
  • SOCKS - プロキシは SOCKS プロトコルでパケットを受け入れて転送します。

デフォルト値は HTTP です。

ユーザー名 transport.proxy.username=username

プロキシ認証トークンを作成するときに使用するユーザー名。 このパラメータは省略可能で、プロキシで認証が必要な場合にのみ設定する必要があります。

パスワード transport.proxy.password=password

プロキシ認証トークンを作成するときに使用するパスワード。 このパラメータは省略可能で、プロキシで認証が必要な場合にのみ設定する必要があります。

トラバーサ

この SDK では、複数の個々の走査を指定して、 並列走査に使用されます。SDK テンプレート コネクタでは、この 機能。

設定 パラメータ
スレッドプールのサイズ traverse.threadPoolSize=size

並列処理を可能にするためにコネクタが作成するスレッドの数。 単一のイテレータはオペレーションを順番に取得します(通常は RepositoryDoc オブジェクト)。 API はこの数のスレッドを使用して複数のプロセスを並行して呼び出します。

デフォルト値は 5 です。

パーティション サイズ traverse.partitionSize=batchSize

ApiOperation() の数 追加の APIOperation を取得する前にバッチ処理されます。

デフォルト値は 50 です。

トラバーサー ポーリング リクエスト

Cloud Search インデックス キューの中核は優先キューであり、 エントリで識別されます。リスティング コネクタはポーリングをリクエストできます インデックス付け API から取得できます。アンケート リクエストに最も高い優先度のエントリが割り当てられる インデックス登録キューから取り出します。

SDK リスティング コネクタ テンプレートでは、次のパラメータが使用されます。 ポーリング パラメータを定義します。

設定 パラメータ
リポジトリ トラバーサー repository.traversers=t1, t2, t3, ...

1 つ以上の個々の走査を作成します。ここで、t1t2t3... は、それぞれの一意の名前です。それぞれの名前付き走査に独自の設定セットがあります トラバーサの一意の名前で識別されます。 traversers.t1.hostloadtraversers.t2.hostload

ポーリングするキュー traverser.pollRequest.queue=mySpecialQueue

この走査がポーリングするキュー名。デフォルトは空の文字列です( 「デフォルト」)。

traverser.t1.pollRequest.queue=mySpecialQueue

複数の走査がある場合は、走査ごとにアイテムのステータスを設定します (t1 は特定の走査を表します)。

ポーリングの動作 traverser.pollRequest.limit=maxItems

ポーリング リクエストから返されるアイテムの最大数。 デフォルト値は 0(API の最大数を意味します)です。

traverser.t1.pollRequest.limit=limit

複数の走査がある場合は、走査ごとにアイテムのステータスを設定します (t1 は特定の走査を表します)。

アイテムのステータス traverser.pollRequest.statuses=statuses

この走査がポーリングする特定のアイテムのステータス。statuses にできます。 MODIFIED, NEW_ITEM の任意の組み合わせ(カンマで区切る)、デフォルトは 空の文字列(すべてのステータス値を意味します)。

traverser.t1.pollRequest.statuses=statusesForThisTraverser

複数の走査がある場合は、走査ごとにアイテムのステータスを設定します(t1、 特定の走査を表します)。

ホスト負荷 traverser.hostload=threads

ポーリングに使用できるアクティブな並列スレッドの最大数。デフォルト 値が 5.

traverser.t1.hostload=threadsForThisTraverser

複数の走査がある場合は、走査ごとにアイテムのステータスを設定します(t1、 特定の走査を表します)。

タイムアウト traverser.timeout=timeout

この走査ポーリングの試行を中断するためのタイムアウト値。

デフォルト値は 60 です。

traverser.t1.timeout=timeoutForThisTraverser

複数の走査がある場合は、走査ごとにアイテムのステータスを設定します(t1、 特定の走査を表します)。

traverser.timeunit=timeoutUunit

タイムアウトの単位。有効な値は SECONDS, MINUTES, です。

traverser.t1.timeunit=timeoutUnit

複数の走査がある場合は、走査ごとにアイテムのステータスを設定します(t1、 特定の走査を表します)。

ほとんどの場合、SDK リスティング コネクタ テンプレートを使用するコネクタのみ ポーリングのパラメータ セットが 1 つであることが必要です。場合によっては 走査アルゴリズムで必要な場合は、複数のポーリング条件を定義します。 さまざまなキューを使用してアイテム処理を分ける場合などです

この場合は、複数のポーリング セットを定義することもできます。 あります。まず、次のコマンドを使用してパラメータ セットの名前を指定します。 repository.traversers。定義済みのトラバーサー名ごとに、 上の表のパラメータに置き換えて t1 は、トラバーサー名に置き換えます。これにより、一連のポーリングが パラメータを使用します。

チェックポイント

チェックポイントは、増分走査の状態を追跡するのに役立ちます。

設定 パラメータ
チェックポイント ディレクトリ connector.checkpointDirectory=/path/to/checkpoint

増分走査チェックポイントと完全走査チェックポイントに使用するローカル ディレクトリへのパスを指定します。

コンテンツのアップロード

アイテムのコンテンツは、アイテムと一緒に Cloud Search にアップロードされます。 コンテンツのサイズが指定のしきい値を超えていません。コンテンツのサイズが しきい値を超えた場合、そのコンテンツはアイテムの メタデータと構造化データです

設定 パラメータ
コンテンツのしきい値 api.contentUploadThresholdBytes=bytes

「インライン」でアップロードされるかどうかを決定するコンテンツのしきい値 個別のアップロードとの比較

デフォルト値は 100000(約 100 KB)です。

コンテナ

完全なコネクタ テンプレートでは、 データベース内の削除されたレコードを検出するための一時データソース キューの切り替え。 つまりフル走査のたびに、フェッチされたレコードが 既存の Cloud Search レコードをすべて置き換えます。 履歴は古いキューにあります

設定 パラメータ
コンテナ名タグ traverse.queueTag=instance

コネクタの複数のインスタンスを並行して実行し、共通のデータをインデックス登録すること (異なるデータ リポジトリにあっても、共通のデータソースの別個の部分にあっても) データ リポジトリなど)を互いに干渉しないようにするために、一意のコンテナを 追加する必要があります。一意の名前タグがあるとコネクタが 別のレコードを削除しないように設定できます。

ネームサーバーは、フル走査コネクタの切り替えキュー ID に追加されます。

削除の検出を無効にする traverse.useQueues=true|false

コネクタが削除検出にキュー切り替えロジックを使用するかどうかを示します。

デフォルト値は true です。これは、キューを 分析できます

: この構成パラメータはコネクタにのみ適用されます。 FullTraversalConnector テンプレートの実装。

バッチポリシー

この SDK はバッチポリシーに対応しており、これを使用すると次のことができます。 アクション:

  • バッチ リクエスト
  • バッチキューのリクエスト数を指定する
  • 同時に実行されるバッチを管理する
  • 一括リクエストをフラッシュする

SDK はコネクタのリクエストをバッチ処理して、処理中のスループットを高速化します。 アップロードします。リクエストを一括してアップロードするための SDK トリガーは、 タイムアウトの、いずれか早い方の値を指定します。たとえば、 バッチサイズに達しずにバッチ遅延時間が過ぎたか、 遅延時間が経過する前にバッチサイズ数に達した 一括アップロードがトリガーされます

設定 パラメータ
バッチ リクエスト batch.batchSize=batchSize

リクエストをバッチ処理する。デフォルト値は 10 です。

バッチキューのリクエスト数 batch.maxQueueLength=maxQueueLength

バッチキューで実行可能なリクエストの最大数。 デフォルト値は 1000. です。

バッチの同時実行 batch.maxActiveBatches=maxActiveBatches

同時に実行できるバッチの数。 デフォルト値は 20 です。

一括リクエストを自動的にフラッシュする batch.maxBatchDelaySeconds=maxBatchDelay

バッチ リクエストが処理されるまでの待機時間(秒) 自動的にフラッシュされます。「 デフォルト値は 5 です。

シャットダウン時にバッチ リクエストをフラッシュする batch.flushOnShutdown=true|false

サービスのシャットダウン中にバッチ リクエストをフラッシュします。 デフォルト値は true です。

例外ハンドラ

例外ハンドラ パラメータは、トラバーサがその後にどのように進むかを決定します 例外が発生する可能性があります。

設定 パラメータ
エラー発生時の走査命令 traverse.exceptionHandler=exceptions

例外がスローされた後に走査がどのように進むか。有効な値 次のとおりです。

  • 0 -- 例外が発生した後に走査を常に中止します
  • num_exceptions(例: 10)-- 走査後に中止 指定された num_exceptions に到達します。

    デフォルト値は 0(エラー時に常に中止)です。

  • ignore -- エラーを無視します
例外間の待ち時間 abortExceptionHander.backoffMilliSeconds=backoff

検出されたハンドラ例外の間に待機するバックオフ時間(ミリ秒) (通常はリポジトリを走査する際に使用されます)。デフォルト値は 10 です。