start_offset パラメーターを使用して、ドキュメントセット内でドキュメントの返却を開始するドキュメントオフセットを指定できます。たとえば、携帯電話キーワードを含む返却されたドキュメントセット内の最初の 20 個のドキュメントを参照し、残りのドキュメントの参照を続行する場合、start_offset パラメーターを 20 に設定できます。このようにして、21 番目からのドキュメントを参照できます。hit_number パラメーターを使用して、返却するドキュメントの数を管理できます。たとえば、フロントエンドのページに最大 40 件のレコードが表示される場合、hit_number パラメーターを 40 に設定できます。このようにして、返却されるドキュメントの数は 40 以下になります。Havenask はデバッグ機能を提供します。log_level パラメーターを異なる値に設定して、クエリプロセスとスコアリングプロセスで異なるレベルのログを取得できます。ビジネス要件に基づいて、qrs_chain_name パラメーターと summary_profile_name パラメーターを設定できます。これらのパラメーターを使用して、クエリステートメントと結果を管理し、extra_kvpairs パラメーターを使用して各プラグインに情報を渡すことができます。以下のセクションでは、config 句の構文について説明します。
構文
'config='config_clause次のサンプルコードは、config_clause の構文を示しています。
config_clause := config_descriptioncon [{',' config_descriptioncon}]次の表は、config_descriptioncon で使用されるパラメーターについて説明しています。
パラメーター | 有効な値 | 既定値 | 説明 |
start | NUMBER | 0 | 結果セット内でシステムがドキュメントの返却を開始するオフセット値。 |
hit | NUMBER | 10 | 返却できるドキュメントの最大数。 |
format | 'xml' or 'protobuf' or 'fb_summary' | 'xml' | 返却されるドキュメントの形式。flatbuffers 形式は、独立したフェーズ 2 クエリでサポートされていることに注意してください。 |
proto_format_option | summary_in_bytes or pb_matchdoc_format | 0 | format パラメーターが protobuf に設定されている場合の形式の詳細。summary_in_bytes 値のみがサポートされています。フェーズ 1 クエリには pb_matchdoc_format 値を使用することをお勧めします。 |
trace | 'FATAL' or 'ERROR' or 'INFO' or 'DEBUG' or 'WARN' or 'TRACE1' or 'TRACE2' or 'TRACE3' | N/A | フロントエンドに表示されるクエリプロセス情報。 |
rank_trace | 'FATAL' or 'ERROR' or 'INFO' or 'DEBUG' or 'WARN' or 'TRACE1' or 'TRACE2' or 'TRACE3' | N/A | フロントエンドにおけるドキュメントのスコアリングプロセスに関する出力情報。 |
kvpairs | WORDS '#' WORDS | N/A | キーと値のペア。複数のキーと値のペアはセミコロン(;)で区切ります。例:WORDS '#' WORDS; WORDS '#' WORDS; WORDS '#' WORDS。 |
qrs_chain | IDENTIFIER | 'DEFAULT' | 設定された QRS チェーンの名前。 |
summary_profile | IDENTIFIER | 'DefaultProfile' | 構成内のサマリーの名前。 |
analyzer | IDENTIFIER | N/A | QRS 用に構成したアナライザー。このパラメーターを構成しない場合、schema.json ファイルで指定されたアナライザーが分析に使用されます。このファイルは、インデックスの作成時に使用されます。指定された値は、analyzer.json ファイルに含まれている必要があります。 |
default_index | string | "" | このクエリで使用される既定のインデックス。既定のインデックスは、クラスタ構成ファイルの query_config 構成項目で指定されたインデックスと同じです。クエリで指定したインデックスが既定のインデックスとして使用されます。クエリでインデックスを指定しない場合は、query_config 構成項目で指定されたインデックスが使用されます。 |
default_operator | 'AND' or 'OR' | "" | クエリで使用される既定の演算子。既定の演算子は、クラスタ構成ファイルの query_config 構成項目で指定された演算子と同じです。クエリで演算子を指定した場合、クエリで指定された演算子が優先的に既定の演算子として使用されます。クエリで演算子を指定しない場合は、query_config 構成項目で指定された演算子が使用されます。 |
timeout | NUMBER | 0 | クエリのタイムアウト期間。単位:ミリ秒。既定値は 0 です。負の値は指定できません。非同期リモートプロシージャコール (ARPC) を使用してクエリリクエストが送信され、RPC の pb にオプションの timeout パラメーターが含まれている場合、クエリの実際のタイムアウト期間は、クエリ文字列で構成された timeout パラメーターの小さい方の値に基づいて決定されます。 |
seek_timeout | NUMBER | 0 | クエリシークフェーズのタイムアウト期間。単位:ミリ秒。既定値:0。既定では、指定されたタイムアウト期間に 0.7 を掛けた値がシークタイムアウト期間として使用されます。 |
no_summary | no or yes | no | このパラメーターを yes に設定すると、フェーズ 1 クエリのみが実行され、サマリーはクエリされません。 |
dedup | no or yes | yes | このパラメーターを yes に設定すると、主キーに基づいて結果から重複が自動的に削除されます。このパラメーターを no に設定すると、結果から重複は削除されません。 |
result_compress | 'no_compress' or 'z_default_compress' or 'z_speed_compress' or 'snappy' or 'lz4' | N/A | QRS から返される結果の圧縮タイプ。no_compress 値は、結果が圧縮されないことを示します。z_default_compress 値は、zlib の Z_DEFAULT_COMPRESSION を使用して結果をデフォルトで圧縮することを示します。z_speed_compress は、zlib の Z_BEST_SPEED を使用して結果を圧縮することを示します。このパラメーターの値は、qrs.json ファイルで指定された圧縮タイプを上書きします。 |
searcher_return_hits | NUMBER | 0 | サーチャーによって返されるレコードの数。値が 0 の場合、レコードは start パラメーターと hit パラメーターの値に基づいて返されます。この値は 5,000 を超えることはできません。 |
actual_hits_limit | NUMBER | 0 | totalhits パラメーターの値が実際の値か推定値かを指定します。返されたレコードの実際の数が actual_hits_limit パラメーターの値より少ない場合、実際の値が返されます。返されたレコードの実際の数が actual_hits_limit パラメーターの値より多い場合、推定値が返されます。返されたレコードの実際の数が 0 の場合、レコードの推定数が返されます。numeric_limits<uint32_t>::max() 条件が満たされた場合、レコードの実際の数が返されます。 |
sourceid | string | N/A | オンラインインデックスには複数のレプリカを使用できます。レプリカの sourceid パラメーターを構成しない場合、クエリごとにレプリカがランダムに選択されます。インデックスがインクリメンタルに更新されると、更新されたデータがすべてのレプリカに同期されない場合があります。その結果、最新のクエリ結果が返されない可能性があります。sourceid パラメーターの値を指定すると、sourceid パラメーターのハッシュ値に基づいてクエリ用のレプリカが選択されます。この場合、sourceid パラメーターの同じ値を使用するユーザーは最新のデータをクエリできます。sourceid パラメーターの値は文字列型です。 |
rerank_hint | BOOL | false | クエリに対して 2 回目のスコアリングプロセスを実行するかどうかを指定します。 |
rank_size | NUMBER | 0 | おおよそソートされるドキュメントの数、または rank_size パラメーターに基づいて動的に切り捨てられるドキュメントの数。値が 0 の場合、構成ファイルの値が使用されます。 |
rerank_size | NUMBER | 0 | 最初のスコアリングプロセスで細かくソートされたドキュメントの数が 0 の場合、構成ファイルの値が使用されます。 |
total_rank_size | NUMBER | 0 | すべてのパーティションでおおよそソートされた行の合計、または動的インデックスに基づいて切り捨てられるドキュメントの数。値が 0 の場合、構成ファイルの値が使用されます。 |
total_rerank_size | NUMBER | 0 | 各パーティションで細かくソートされた行の合計。値が 0 の場合、構成ファイルの値が使用されます。 |
index_switch_limit | NUMBER | numeric_limits<uint32_t>::max() | プライマリチェーンでシークできるドキュメントの数。値が numeric_limits<uint32_t>::max() の場合、クエリをセカンダリチェーンに切り替えることができるメカニズムに基づいてドキュメントは動的に切り捨てられません。 |
fetch_summary_type | docid or pk or rawpk | docid | サマリーを取得するために使用されるメソッド。既定値は docid パラメーターの値です。主キーのハッシュ値または元の値を使用することもできます。 |
inner_result_compress (< V3.4) | 'no_compress' or 'z_default_compress' or 'z_speed_compress' or 'snappy' | N/A | エンジン内の結果の圧縮タイプ。このパラメーターは、サーチャーがプロキシまたは QRS に結果を返すときに使用されます。 |
batch_score | no or yes | yes | おおまかなソートプロセスでバッチスコアリングを有効にするかどうかを指定します。既定では、おおまかなソートプロセスでのバッチスコアリングは有効になっています。ドキュメントは、エンジンに蓄積されたドキュメントが指定された数に達した場合にのみスコアリングされます。 |
optimize_rank | no or yes | yes | おおまかなソートプロセスでスコアリングを遅延させるかどうかを指定します。既定では、おおまかなソートプロセスでのスコアリングは遅延されます。おおよそソートされたドキュメントの数が細かくソートされたドキュメントの数より少ない場合、エンジンはおおよそソートされたドキュメントに遅延アルゴリズムを使用します。 |
optimize_comparator | no or yes | yes | 遅延スコアリングの式を有効にするかどうかを指定します。既定では、遅延スコアリングの式は有効になっています。式に複数のディメンションが含まれている場合、エンジンは一部のディメンションのスコアリングを遅延させます。 |
debug_query_key | string | "" | エンジン内のクエリ条件のトラブルシューティングを行うかどうかを指定します。debug_query_key が空でない場合、クエリ条件のトラブルシューティングが行われます。 |
no_tokenize_indexes | index_name1';'index_name2 | "" | クエリで指定されたインデックスに対してトークン化プロセスを実行する必要はありません。正規化やストップワードの削除などの他のプロセスは引き続き実行できます。 |
research_threshold | NUMBER | 0 | レコード数がこのパラメーターの値より少ない場合、クエリが再実行されます。 |
fetch_summary_cluster | string | "" | サマリーを取得するクラスタ。このパラメーターを使用すると、データをクエリするクラスタとサマリーを取得するクラスタを区別できます。 |
fetch_summary_group | string | "" | サマリーを取得するグループ。このパラメーターは、サマリーインデックスグループが構成されている場合にのみ使用されます。 |
ignore_delete | bool | true | サマリーを取得するときに deletemap へのアクセスを無視するかどうかを指定します。deletionmap 内の削除マークを無視するかどうかを指定します。このパラメーターを true に設定すると、削除されたドキュメントを取得できます。 |
hit_summary_schema_cache_key | string | "" | QRS 上のサマリーシリアル化フィールドセットのキャッシュキー。 |
metrics_src | string | "" | メトリック統計をクエリするために使用される src。このパラメーターは、qrs.json ファイルで構成された src ホワイトリストと共に使用されます。 |
join_type | 'default' or 'strong' or 'weak' | 'default' | クエリ内のセカンダリテーブルで実行される結合操作のタイプ。既定モードでは、join_infos ファイルで構成されたメソッドを使用して、結合操作でデータをフィルタリングします。強モードでは、結合操作のフィルタ条件がすべてのセカンダリテーブルに使用されます。1 つのセカンダリテーブルを結合できない場合、ドキュメントは破棄されます。弱モードでは、結合フィルタリングは無効にされます。 |
sub_doc | 'no' or 'group' or 'flat' | 'no' | クエリに対して sub_doc モードを有効にするかどうかを指定します。詳細については、sub_doc のトピックを参照してください。 |
例 config=cluster:daogou,start:0,hit:10,format:xml,rank_trace:DEBUG,trace:INFO,kvpairs:title#xyz;name#abc&&query=notebook
このクエリステートメントは、daogou クラスタで「notebook」をクエリします。最初の 10 件のレコードが取得され、XML 形式で表示されます。クエリプロセスの INFO レベルのログとソートプロセスの DEBUG レベルのログを取得できます。キーと値のペアは title-xyz と name-abc です。