阿里云开放搜索查询url构建工具
详细使用方法请参考阿里云 OpenSearch API 参考手册
npm i opensearch-query-builder
var qb = require('opensearch-query-builder')({
host: 'OpenSearch API Host'
accessKeyId: 'Aliyun Access Key ID',
accessKeySecret: 'Aliyun Access Key Secret'
});
var url = qb('posts')
.formulaName('default')
.query('(title:"${title1}" OR title:"${title2}") AND type:"${type}"', {
title1: '北京大学',
title2: '清华大学',
type: 1
})
.config('format:fulljson,start:${1},hit:${2}', 0, 20)
.sort('+RANK')
.compile();
request(url, function (error, response, body) {
...
})
生成一个 query builder 并指定其要搜索的应用名,若为数组的话表示将进行多应用同时查询
采用字符串模板的办法指定 query 参数中的 query 子句,若第二个参数是个对象,那么模板中的占位符${}
将替换成对象中相应的值,若第二个参数是字符串,那么模板将把参数嵌入到相对应的位置。
之后使用字符串模板的的方法与此相同
指定 query 参数中的 config 子句
指定 query 参数中的 filter 子句
指定 query 参数中的 sort 子句
指定 query 参数中的 aggregate 子句
指定 query 参数中的 distinct 子句
指定 query 参数中的 kvpair 子句
指定 index_name 参数
指定 fetch_fields 参数
指定 qp 参数
指定 disable 参数
指定 first_formula_name 参数
指定 formula_name 参数
指定 summary 参数