Skip to content

(Piper) Searcher API

成文 edited this page Jul 19, 2024 · 16 revisions

Searcher Document


1 Searcher API

Base Url : [http:]ip:8080/instance_alias

Example : http://127.0.0.1:8080/order_detail?id=5369313

Method : GET / POST(Content-Type: application/json)


2 查询通用字段

参数字段 作用 示例 约束
fl 需要返回的字段 id,name store=true字段
count 返回条数 默认1 1<=count<=2000
start 起始位置 默认0 start>=0,start+count<=20000
sort 排序 sort=field_asc 或者 sort=field_desc,多值sort=field1_desc,field2_desc 若是地理查询按距离排序取第一个点的距离来排序
showquery 调试模式,进行分数和语句解释 true/false None
__stats 返回实例(集群)状态 true/false None
__request_not_return 是否返回用户请求数据 true/false None
__highlightfields 高亮显示字段,逗号分隔 field1,field2 None
__highlighttag 高亮显示使用标签 默认 em None

3 索引内容字段查询

示例 作用 约束
field=value 完全匹配检索 字段index需要为true
field=v1_v2 范围查询,表示查询field值为 大于v1 小于v2,默认是包含上下界,如需调整需要在xml配置文件配置 字段必须存储数值且index需要为true
field=11.0:32:0:10 地理坐标查询,lat:log:内环:外环,内环外环有单位如0m:10m,支持","语法,如field=11.0:32:0:10,12.0:31:0:10实现多点查询 特种查询非所有数据源都支持

注:以下所有参数属特殊定义,不是所有数据源都支持需要自行开发对应流控制实现部署到searcher.flow包下


4 特殊自定义条件查询

参数字段 作用 示例 约束
search_dsl 自定义查询语句 search_dsl=(field:value OR field2:value2) 原生lucene语法格式,仅支持solr,es数据源

5 聚合查询 facet与facet_ext特种参数


参数字段 作用 示例
facet 聚合参数,函数:返回名称:字段名 facet=term:agg_field:fieldname,sum:sum_fields_alias:field1,可自定义传入如,topHits:0:(DEF(sort=id;size=1;...))
facet_ext 聚合扩展参数,size 返回的分组数,start起始位置 order 聚合排序字段 facet_ext=size:10,order:field desc

6 查询中的特种参数

参数字段 作用 示例
request_handler 查询处理器参数 request_handler=/select

7 查询例子

存储类型 查询方法 查询地址 查询参数 解释
Vearch GET ip:8080/face_vearch ?id=7ef3d1feeb2d11edaf000242ac110003&__storeid=1683216000&showquery=true __storeid为按时间序列生成的表的后缀ID
Vearch POST(Content-Type: application/json) ip:8080/face_vearch {"__storeid":"1683216000","features":[0.1,0.321,...,]}
kafka POST(Content-Type: application/json) ip:8080/face_message {"content":"test"} 消息类支持使用默认content字段,查询整个消息内容是否含有test