简介
集群配置中的查询配置主要为用户提供自定义查询配置的功能
在左侧导航选择配置管理 > 查询配置,页面顶部包含在线配置、查询配置、cava 配置三个 Tab 页签。选择查询配置页签后,可查看查询配置版本列表,包含版本号、备注、状态(使用中/未使用)、创建时间和操作列。对使用中的版本可执行查看和编辑操作,对未使用的版本还可执行删除操作。
添加查询配置
查看/编辑查询配置,选择配置中心>集群配置>查询配置
1.选择需要编辑的查询配置。
2.用户需先编辑/查看版本,再编辑/查看查询配置中的具体文件。选择后进入查询配置 V1 版本的编辑页面,查询配置文件列表中包含 zones 文件夹(操作栏为查看)和 qrs.json 配置文件(操作栏为编辑)。
3.找到需要调整的参数,点击右侧操作栏的编辑按钮进行修改。打开具体配置文件后,页面以表格展示配置参数,包含键、值、描述、类型、操作五列。参数包括 algo_model_config_path、dist_uniq_max_group、dist_uniq_threshold、primary_table_name、qrs_connection_timeout、qrs_request_compress、qrs_result_compress、qrs_rule 等,每行均可单击编辑修改对应值。
4.编辑完成后点击发布就会产生一个新的版本。修改完成后,单击页面顶部的发布新版本按钮发布配置。
5.调整后需前往「集群管理-配置更新页面」,点击更新并选择版本后生效。点击页面右侧的更新按钮,将新版本配置推送生效。
6.生成后可在功能扩展>变更中查看配置生效进度。更新触发后,可在左侧导航栏功能扩展 > 变更历史页面查看变更进度。推送在线配置的变更流程包含以下子步骤:
参数检查
创建任务
配置合并
提交到在线集群
等待配置生效
每个子步骤显示执行状态(成功或进行中),可展开查看节点详情。
删除查询配置
状态为”未使用”的查询配置版本,可以直接在配置中心 > 查询配置界面删除。
参数说明
查询配置文件qrs.json
键 | 值 | 描述 |
__cluster_name | general | 自定义 |
primary_table_name | $primary_table_name | 主表表名 |
qrs_connection_timeout | 750 | 查询超时时间(毫秒) |
qrs_request_compress_type | z_speed_compress | 配置Qrs向各个子节点发送request是否压缩以及压缩的类型,可以不配置,默认情况下是不压缩。 compress_type表示压缩类型,目前支持三种类型,默认取值为no_compress:
|
qrs_return_hits_limit | 5000 | 查询返回文档数 |
查询配置文件:zones/general/default_biz.json
键 | 值 | 描述 |
cava_alloc_size_limit | 40 | cava query级别能分配的最大内存(单位:MB) |
cava_compile_thread_num | 1 | 默认值 |
cava_loop_and_func_limit | 10000 | 默认值 |
cava_max_variable_count | 10000 | 默认值 |
cava_module_cache_size | 256 | 缓存query里面传递source code的个数,超过则开始LRU淘汰 |
default_index | $default_index | 默认进行查询的索引名称,如果在query中未指明查询的索引名称时,将在该索引中查找;比方说query=nid:1 指定了在nid索引下查找, query='mp3'未指定索引名称,会使用默认的index |
default_rank_size | 1000000 | 默认命中的文档数 |
default_rerank_size | 200 | 默认参与精排个数 |
early_termination_min_wait_time | 100 | 默认值 |
early_termination_trigger_result_percent | 0.85 | 默认值 |
early_termination_wait_time_factor | 2 | 默认值 |
enable_cava | false | 是否启用cava |
filter_field | ||
hash_mode | $hash_mode | 例:"hash_mode": { "hash_field" : "nid", "hash_function" : "HASH" } 表示根据nid 字段使用HASH 方法计算hash值,进行分partition |
latency_upper_limit_ms | 60 | 默认值 |
latency_upper_limit_percent | 2 | 默认值 |
main_online_index | $main_online_index | 默认值 |
primary_table_name | $primary_table_name | 主表表名 |
probe_percent | 0.05 | 为了满足内存非lock等需要预热的场景,配置probe_percent为大于0.05的值。 |
return_hit_rewrite_ratio | 1.2 | 为了尽量不有损效果,searcher上实际排序出来的条数以及序列化之后的条数,(start+hit)/partition之后的值会按照业务场景乘以一个大于1的系数限制条件:return_hit_rewrite_ratio 合理取值范围是(1,partition_count),对于类似inshop 路由到单列的查询,会自动不做这个优化处理。 |
return_hit_rewrite_threshold | 500 | start + hit 大于这个阈值时, 开启这个优化。 |
searcher_cache_latency_limit_ms | 1 | Searcher Cache只会缓存 (rank_latency + rerank_latency) > latency_limit 的query的查询结果,因为被cache住的query的latency越大,cache对性能提升的效果越明显。单位时ms,默认值是1ms。 |
searcher_degrade_rank_size | 5000 | 命中的文档数 |
searcher_degrade_rerank_size | 100 | 参与精排个数 |
注意事项
所有版本一旦发布后,不再支持变更配置内容
已发布的版本支持编辑并生成新版本
基于已有版本编辑,系统会保存唯一的一份最新草稿
只有未使用的版本支持删除,使用中的版本不支持删除