腾讯云搜索

API使用说明

1、通信协议和规则

2、接口鉴权

3、公共参数

4、异步任务接口返回格式

5、错误码

6、数据接口

• 6.1 接口描述

域名:yunsou.api.qcloud.com
接口名: DataManipulation

对数据进行添加和删除操作

• 6.2 输入参数

参数名称 必选 类型 描述
appId Int 云搜的业务ID,用以表明当前数据请求的业务
op_type String 操作类型,可为"add"或者"del"
contents.n Array 文档内容

• 6.3 输出参数

参数名称 类型 描述
code Int 错误码, 0: 成功, 其他值: 失败
message String 错误信息,错误码详情参见错误码说明
data Array 返回详细信息

• 6.4 示例

添加输入
https://domain/v2/index.php?Action=DataManipulation
&op_type=add 
&appId=1
&contents.0.NA=1000
&contents.0.TA=test1
&contents.0.TB=testtitle1
&contents.0.TC=testcontent1
&contents.1.NA=2000
&contents.1.TA=test2
&contents.1.TB=testtitle2
&contents.1.TC=testcontent2
		

删除输入
https://domain/v2/index.php?Action=DataManipulation
&op_type=del 
&appId=1
&contents.0.doc_id=1000
&contents.1.doc_id=2000
		

输出
{
	retcode: 0,
	errmsg: "succ",
	data: {
		app_id: 14950002,
		result: [
		{
			doc_id: "1000",
			errno: 0,
			result: "succ"
		},
		{
			doc_id: "2000",
			errno: 0,
			result: "succ"
		}
		],
		seq: 1427872563,
		total_result: "succ"
	 },
	code: 0,
	message: ""
}
		

7、数据检索

• 7.1 接口描述

域名:yunsou.api.qcloud.com
接口名: DataSearch
对数据进行查询操作

• 7.2 输入参数

参数名称 必选 类型 描述
appId Int 云搜的业务ID,用以表明当前数据请求的业务
search_query String 检索串
page_id Int 当前页,从第0页开始计算
num_per_page Int 每页结果数
search_id String 当前检索号,用于定位问题
query_encode Int 请求编码,0表示utf8,1表示gbk,建议指定
rank_type Int 排序类型
num_filter String 数值过滤,结果中按属性过滤(格式参见后面说明)
cl_filter String 分类过滤,导航类检索请求(格式参见后面说明)
extra String 检索用户相关字段(格式参见后面说明)
source_id Int 检索来源
second_search Int 是否进行二次检索,0关闭,1打开
max_doc_return Int 指定返回最大篇数,无特殊原因不建议指定,默认300篇
is_smartbox Int 是否smartbox检索
enable_abs_highlight Int 是否打开高红标亮,0关闭,1打开
qc_bid Int 指定访问QC业务ID

• 7.4 输出参数

参数名称 类型 描述
code Int 错误码, 0: 成功, 其他值: 失败
message String 错误信息,错误码详情参见错误码说明
result_num Int 检索返回的当前页码结果数
display_num Int 搜索最多可展示结果数,多页
eresult_num Int 检索结果的估算篇数
cost_time Int 检索耗时,单位为ms
result_list Array 检索结果列表
seg_list Array 检索的分词结果,array类型,可包含多个

result_list检索结果列表说明:

参数名称 类型 描述
doc_id Int 检索文档id
doc_meta String 摘要信息
search_debuginfo String 文档级回传信息
l2_score Float 精计算打分

• 7.4 示例

输入
https://domain/v2/index.php?Action=DataSearch
&appId=1
&search_query=qq
&page_id=0 
&num_per_page=10
		

输出
{
	"code": 0,
	"message": ""
	"data": {
		"cost_time": 19,
		"display_num": 2,
		"echo": "",
		"eresult_num": 2,
		"result_list": [
		{
			"doc_id": "200",
			"doc_meta": "{
				"AA": "41",
				"NA": "200",
				"TA": "qq",
				"TB": "cloudsearchdoc",
				"TC": "qq"
			}",
			"l2_score": 0,
			"search_debuginfo": ""
		},
		{
			"doc_id": "11005",
			"doc_meta": "{
				"AA": "41",
				"NA": "200",
				"TA": "qq",
				"TB": "cloudsearchdoc",
				"TC": "qq"
			}",
			"l2_score": 0,
			"search_debuginfo": ""
		}
		],
		"result_num": 2,
		"seg_list": [
		{
			"seg_str": "qq"
		},
		{
			"seg_str": "腾讯"
		}
		]
	},
}
	

8、过滤说明

腾讯云搜主要包括两类过滤方式:数值过滤和分类过滤。

• 8.1 数值过滤

对应检索请求中的num_filter字段,基本表达式可以描述为:

[N:meta:start:end]

该表达式含义为:属性满足start<=meta值<=end的文档将会被留下,其它的被过滤。其中,meta字段必须为数值字段

另外,数值过滤表达式之间支持“与”“或”关系。用&和|符号连接,支持使用括号标识优先级。如,[N:meta1:start:end]&([N:meta2:start:end]|[N:meta3:start:end])

• 8.2 分类过滤

对应检索请求中的cl_filter字段,基本表达式可以描述为:

[C:meta:value]

该表达式含义为:对该meta域使用特殊的倒排索引进行检索,特别适用于导航检索。其中meta字段可为数字或数值。

另外,分类检索表达式支持“与”“或”关系。用&和|符号连接,支持使用括号标识优先级。如,[C:meta1:value1]&([C:meta2:value2]|[C:meta3:value3])。

9、检索字段附加说明

• 9.1 extra相关性排序字段说明

检索请求中包含extra字段用来标识当次检索结果排序的情况。其基本格式为:

META1_TYPE1_META2_TYPE2_rel_TYPE3

以上表达式表示的含义为,排序分成三档,仅在前一档值相同情况下,才会进行下一档排序:

第一档按照META1的属性值进行排序,排序类型为TYPE1

第二档按照META2的属性值进行排序,排序类型为TYPE2

第三档按照rel(即文本相关性得分进行排序),排序类型为TYPE3。注意:rel字段的值非业务数据,而是搜索侧的计算结果

表达式取值方法:

1) Meta:meta本身为属性字段名即可(不含下划线,避免冲突),但是需要保证需要进行排序的属性是数值字段

2) Type:

Type=0: 当前属性越小,排序越靠前

Type=1:当前属性越大,排序越靠前

• 9.2 rank_type字段说明

rank_type字段取值如下:

1) rank_type=0:文本相关性打分降序排列

2) rank_type=1:文本相关性打分升序排列

3) rank_type=2:按照用户输入的extra字段,结合用户在高级组件中定制的排序对返回结果的顺序进行排序

4) rank_type=5:不使用额外的排序策略,按搜索结果直接返回