すべてのプロダクト
Search
ドキュメントセンター

:kvpair 句の使用

最終更新日:Dec 28, 2024

概要

ビジネス要件に合わせて、クエリステートメントに kvpair 句を含めることができます。 kvpair 句は、キーと値のペアを指定します。

構文

kvpair={key}:{value};{key}:{value};....

query=SELECT brand, COUNT(*) FROM phone &&kvpair=trace:INFO;formatType:full_json

kvpair 句でサポートされているパラメーター

パラメーター

有効な値

デフォルト値

説明

trace

DISABLE, FATAL,

ERROR,

WARN,

INFO,

DEBUG, TRACE1, TRACE2, TRACE3, SCHEDULE, NOTSET

DISABLE

フロントエンドに表示されるクエリプロセス情報。

formatType/format

string, json, full_json, and flatbuffers

string

返される結果の形式。

クエリが JSON 形式の場合は full_json を使用し、クエリを高速化したい場合は flatbuffers を使用することをお勧めします。

timeout

ulimit

SQL 設定によって決定されます。

クエリのタイムアウト期間。単位:ミリ秒。

searchInfo

true, false

false

検索情報を返すかどうかを指定します。

sqlPlan

true, false

false

SQL 実行プランに関する情報を返すかどうかを指定します。

forbitMergeSearchInfo

true, false

false

クエリ結果サーチャー (QRS) が列検索によって返された検索情報をマージしないように指定します。各列の詳細をクエリする場合は、このパラメーターを設定します。

resultReadable

true, false

false

format パラメーターが json または full_json に設定されている場合、JSON 形式で返される結果に改行を追加して読みやすくします。

parallel (

V3.8.0 より前のバージョンの Havenask に適用可能

)

1-16

1

Searcher で並列最適化を有効にします。

Havenask のバージョンが 3.8.0 以降の場合は、新しい実装を使用してください。

注:新しい実装と古い実装は互換性がありません。同時に使用しないでください。

parallelTables (

V3.8.0 より前のバージョンの Havenask に適用可能

)

複数のテーブルを縦棒 (|) で区切ります。

このパラメーターは、parallel パラメーターと一緒に使用されます。 parallelTables パラメーターは、分割と並列処理をサポートするテーブルを指定し、結合操作に使用されます。

databaseName

QRS が対応する Searcher にアクセスするために使用するデフォルトのデータベース名を指定します。クエリステートメントで dbName.tableName 形式でテーブル名の前にデータベース名を指定すると、QRS は複数の Searcher に同時にアクセスすることもできます。

catalogName

default

カタログ名を指定します。カタログ名はテーブル名と同じにすることができます。

lackResultEnable

true, false

false

結果に列が欠落することを許可するかどうかを指定します。たとえば、結果に RPC タイムアウト列が欠落している可能性があります。

iquan.optimizer.debug.enable

true/false

false

iquan の最適化フェーズでデバッグを有効にするかどうかを指定します。

iquan.optimizer.cte.enable

true/false

false

最適化のために共通テーブル式 (CTE) を使用して演算子のマージを有効にするかどうかを指定します。演算子のマージを有効にすると、同じ演算子が自動的にマージされます。

iquan.optimizer.sort.limit.use.together

true/false

true

ORDER BY 句の後に LIMIT 句を必須とするかどうかを指定します。

iquan.optimizer.force.limit.enable

true/false

true

iquan に対して LIMIT 句を強制的に追加するかどうかを指定します。

iquan.optimizer.force.limit.num

ulimit

100

iquan.optimizer.force.limit.enable パラメーターを true に設定した場合、iquan.optimizer.force.limit.num パラメーターの値を LIMIT 句の値として指定します。

iquan.optimizer.join.condition.check

true/false

true

結合するフィールドがハッシュフィールドである必要があるかどうかを指定します。

iquan.optimizer.force.hash.join

true/false

false

すべての結合ノードをハッシュ結合ノードに強制的に変換するかどうかを指定します。

iquan.plan.format.version

string

""

iquan によって生成される実行プランのフォーマットバージョンを指定します。このパラメーターの値は plan_version_0.0.1 です。このパラメーターを指定する必要はありません。

iquan.plan.format.type

json

json

iquan によって生成される実行プランの形式を指定します。現在、JSON のみがサポートされています。

iquan.plan.prepare.level

rel.post.optimize

jni.post.optimize

jni.post.optimize

このパラメーターは、iquan.plan.cache.enable パラメーターまたは dynamic_params パラメーターと一緒に使用されます。 jni.post.optimize 値を使用することをお勧めします。

キャッシュを有効にすると、iquan は指定されたフェーズの結果をキャッシュに保存します。

dynamic_params パラメーターを指定すると、iquan は指定されたフェーズの結果のパラメーターを動的に置き換えます。

rel.post.optimize:Java コードで最適化された結果を返します。

jni.post.optimize:Java Native Interface (JNI) 呼び出しが実行された後、CPP コードで結果を返します。

iquan.plan.cache.enable

true / false

false

現在の結果をキャッシュに保存するかどうかを指定します。

exec.source.id

""

クエリステートメントによってアクセスされる特定の行を指定します。このパラメーターは、複数の交換が存在する場合に役立ちます。このパラメーターの値は、デフォルトでは時系列で生成されます。

exec.source.spec

""

指定された形式でサービスのソースを指定します。

パーソナライゼーションプラットフォーム (TPP) からの推奨シナリオ:tpp-appid-abid-solutionid-ip。

その他のシナリオ:製品名-システム名-IP アドレス。

dynamic_params

二次元配列

該当なし

SQL ステートメントのプレースホルダーを置き換えるパラメーター値を指定します。

注:動的パラメーターを使用して、値が SQL ステートメントのプレースホルダーであるフィールドを置き換える場合は、動的パラメーターのデータ型がフィールドのデータ型と同じであることを確認してください。

注:動的パラメーターに指定する値は二次元配列です。動的パラメーターの指定された値の各一次元配列は、SQL ステートメントに対応します。

urlencode_data

true / false

false

dynamic_params パラメーターの値が URL エンコードされている場合は、このパラメーターを true に設定します。

  1. kvpair 句とクエリステートメントでパラメーターが指定されている場合、kvpair 句のパラメーターの設定が優先されます。

  2. 複数のキーと値のペアをセミコロン (;) で区切ります。セミコロン (;) の前後にスペースを指定しないでください。