config子句

子句说明

config子句是必选子句,可以对查询进行实时控制,通过config子句可以指定查询结果的起始位置、返回结果的数量、展现结果的格式,查询的超时时间等。

语法说明

{
  "config": {
  }
}

config子句是一个可选子句,它是一个object,支持的参数请参考config子句参数

config子句参数

参数名

取值范围

默认值

参数说明

start

NUMBER

0

从结果集中第start_offset开始返回document

hit

NUMBER

10

返回文档的最大数量

format

'json' or 'xml'

'xml'

输出格式控制

rank_trace

'FATAL' or 'ERROR' or 'INFO' or 'DEBUG' or 'WARN' or 'TRACE1' or 'TRACE2' or 'TRACE3'

在前端输出一个document的算分相关信息

default_index

string

""

指定在该次查询中使用的默认index,功能与cluster配置文件中query_config配置项的功能一致。如果在query中指定则优先使用query中指定的index作为默认index,否则使用query_config配置项中指定的index。

default_operator

'AND' or 'OR'

""

指定在该次查询中使用的默认query 操作符,功能与cluster配置文件中query_config配置项的功能一致。如果在query中指定则使用query中指定的作为默认操作符,否则使用query_config配置项中指定的操作符。

timeout

NUMBER

0

指定query超时时间,单位ms,0用配置超时,不能为负数。

seek_timeout

NUMBER

0

指定query seek阶段超时时间,单位ms,默认值为0。默认情况下采用配置超时 * 0.7作为seek超时时间。

no_summary

false or true

false

true则只进行第一阶段查询,不取summary

dedup

no or yes

yes

yes则会自动对结果按照primary key去重,否则不会去重。

searcher_return_hits

NUMBER

0

限制searcher返回结果数,如果为0,则返回start+hit;不能超过5000

actual_hits_limit

NUMBER

0

决定totalhits展示实际值还是估算值,当实际结果数小于actual_hits_limit,则返回实际值,否则返回估算值。如果为0,则始终返回估算值;如果为numeric_limits<uint32_t>::max(),则始终返回实际值。

sourceid

string

索引有多个replica同时在线服务,如果不给定sourceid,每次查询将会随机地选一个replica进行查询。索引进行增量更新时,多个replica之间会出现不一致的时期(部份已更新,部分还是旧的),会导致查询结果有时新有时旧。给定sourceid后,查询会根据sourceid的哈希值选取某个replica。同一sourceid的用户查询到的结果就不会新旧来回变换了。sourceid可以是任意字符串。

rerank_hint

BOOL

false

是否走第二轮算分

rank_size

NUMBER

0

粗排数,也就是直接动态索引截断数,如果为0, 则用配置文件里的值

rerank_size

NUMBER

0

第一轮精排数,如果为0, 则用配置文件里的值

total_rank_size

NUMBER

0

各partition粗排数之和,也就是直接动态索引截断数,如果为0, 则用配置文件里的值

total_rerank_size

NUMBER

0

各partition第一轮精排数之和,如果为0, 则用配置文件里的值

fetch_summary_type

docid or pk or rawpk

docid

设置取summary方式,默认是按照docid取,也可以通过pk的hash值或是pk的原文来取,建议使用pk。

research_threshold

NUMBER

0

当结果数不足该值时,触发重查

使用示例

  1. 翻页使用:每页20个结果,分别获取第一页、第二页结果;

    #第一页
    {
      "config": {
        "start":0,
        "hit":20,
        "format":"xml"
      }
    } 
      
    #第二页
    {
      "config": {
        "start":20,
        "hit":20,
        "format":"xml"
      }
    }

  2. 设置精排文档数为1000;

    {
      "config": {
        "start":1,
        "hit":20,
        "rerank_size":1000
      }
    }