SearchDocument
>=
4.9.6
接口功能
基于查询条件进行文档搜索
请求参数
参数 类型 必填 说明 string 否 签名调用必填 QueryKeyword string 是 查询关键字,允许传空字符串 SearchCodeArray List<string>
是 App绑定的搜索编码 FilterConditions List<FilterCondition>
否 过滤条件 SortConditions List<QuerySort>
否 排序设置 PageIndex int 否 查询结果的页码,起始页码为1,默认值:1 PageSize int 否 查询结果的页大小,默认值:1
FilterCondition
参数 类型 说明 Field string 过滤字段名 Operator string 过滤时执行的操作。Enum值:[Equal], [NotEqual] Values List<string>
过滤值 Type string 过滤器类型。Enum值:[Terms], [RDate], [Range],处理字符串,日期时间和数字类型 SubFilters List<FilterCondition>
子级别的过滤条件
SortSetting
参数 类型 说明 SortFieldName string 进行排序的Elasticsearch索引映射中的字段名 DisplayField string 进行排序的显示名称 IsAscending bool 排序类型,默认顺序:降序 [warning]警告信息
PageIndex
: 应大于0,如果输入值无效,程序会自动以默认值1来处理。
PageSize
: 应大于0,如果输入值无效,程序会自动以默认值10来处理。
SearchCodeArray
: 至少要包含一个有效搜索编码值。只有[Terms]类型支持级联过滤,目前最多支持3个级别。
对于[RDate]和[Range]过滤字段,值的字符串结构类似于:{RangeFrom}-{RangeTo},结果包含匹配 RangeForm 的值而不匹配 RangeTo 的值,时间格式为 dd/MM/yyyy。另外,RangeTo 值可以为空。 如:"01/01/2022-31/12/2022", "01/01/2022-", "100-120", "100-"。
返回数据类型
参数 类型 说明 statusCode int 结果状态码。200代表成功,其他值为失败。 info string 结果消息。 data PerformElasticSearchResult[]
返回的数据集。
PerformElasticSearchResult
参数 类型 说明 Total int 搜索记录总数 TotalPage int 总页数 RecordPerPage int 页大小 ResultList List<IDictionary<string,object>>
搜索结果的列表 StatisticResult Statisticresult[]
统计结果详情 QuerySortCondition Querysortcondition[]
排序设置 StatisticGroupSeparator string 返回数据的组分隔符 StatisticValueSeparator string 返回数据的值分隔符 SearchCode string 搜索编码
Statisticresult
参数 类型 说明 Value string 聚合值 Count int 基于 Value 的统计计数 ESName string Elasticsearch索引映射中的聚合字段 SubTitle string 子统计结果的聚合 Mapping MappingModel[]
子的统计结果 From string 开始值 To string 结束值 FromAsString string 开始值的格式化字符串 ToAsString string 结束值的格式化字符串 DropDownTypeName string 统计类型 DisplayName string 聚合显示名 UnitName string 单元名 UnitValue string 单元值 DisplayField string Elasticsearch索引映射的显示字段 MaxRangeValue string 最大取值 MinRangeValue string 最小取值 MinDocValue int 最小统计文件阈值
MappingModel
参数 类型 说明 Value string 聚合值 Count int 基于 Value 的统计计数 ESName string Elasticsearch索引映射中的聚合字段 SubTitle string 子统计结果的聚合 Mapping object[]
子的统计结果 From string 开始值 To string 结束值 FromAsString string 开始值的格式化字符串 ToAsString string 结束值的格式化字符串 DropDownTypeName string 统计类型 DisplayName string 聚合显示名 UnitName string 单元名 UnitValue string 单元值 DisplayField string Elasticsearch索引映射的显示字段 MaxRangeValue string 最大取值 MinRangeValue string 最小取值 MinDocValue int 最小统计文件阈值
Querysortcondition
参数 类型 说明 QuerySortLst Querysortlst[]
排序设置
Querysortlst
参数 类型 说明 SortFieldName string 进行排序的Elasticsearch索引映射中的字段名 DisplayField string 进行排序的显示名称 IsAscending bool 排序类型,默认顺序:降序
输入示例
输入一个或多个Search Code,至少有一个是有效的Search Code:
{ "Email": "someone@test.com", "QueryKeyword": "明朝", "SearchCodeArray": [ "valid_search_code", "invalid_search_code" ], "FilterConditions": [{ "Field": "category.keyword", "Operator": "Equal", "Values": ["humanity"], "Type":"Terms", "SubFilters":[] }, { "Field": "price", "Operator": "Equal", "Values": ["20-80"], "Type":"Range", "SubFilters":[] }, { "Field": "C4-ModifyDate", "Operator": "Equal", "Values": ["11/06/2022-"], "Type":"RDate", "SubFilters":[] }], "SortConditions": [{ "SortFieldName": "name.keyword", "DisplayField": "name", "IsAscending": true }], "PageIndex": 1, "PageSize": 10 }
返回示例
{
"StatusCode": 200,
"Info": "Request (or process) succeeded",
"Data": [
{
"Total": 2,
"TotalPage": 1,
"RecordPerPage": 10,
"ResultList": [
{
"Title": "明朝那些事儿 3",
"author": "当年明月",
"Price": "36",
"DataSource": "Data Source Name",
"NoNotesExternalSourceURL": "https://digitalmakerhost/tenant/appcode/vForm/book/preview/69c833eaf3264025a9ed7255deec4896",
"Type": "Documents",
"category": [
"humanity"
]
},
{
"Title": "明朝那些事儿 4",
"author": "当年明月",
"Price": "35",
"DataSource": "Data Source Name",
"NoNotesExternalSourceURL": "https://digitalmakerhost/tenant/appcode/vForm/book/preview/a26c3b29ab7c4be2a6c0776f70f0f88a",
"Type": "Documents",
"category": [
"humanity"
]
}
],
"StatisticResult": [
{
"Value": "",
"Count": 2,
"ESName": "",
"SubTitle": "P_DataType",
"Mapping": [
{
"Value": "Documents",
"Count": 2,
"ESName": "P_DataType",
"SubTitle": "",
"Mapping": [],
"From": "",
"To": "",
"FromAsString": "",
"ToAsString": "",
"DropDownTypeName": "",
"DisplayName": "",
"UnitName": "",
"UnitValue": "",
"DisplayField": "",
"MaxRangeValue": "",
"MinRangeValue": "",
"MinDocValue": 0
}
],
"From": "",
"To": "",
"FromAsString": "",
"ToAsString": "",
"DropDownTypeName": "Simpledropdown",
"DisplayName": "P_DataType",
"UnitName": "",
"UnitValue": "",
"DisplayField": "P_DataType",
"MaxRangeValue": "",
"MinRangeValue": "",
"MinDocValue": 0
}
],
"QuerySortCondition": [
{
"QuerySortLst": [
{
"SortFieldName": "name.keyword",
"DisplayField": "name",
"IsAscending": true
}
]
}
],
"StatisticGroupSeparator": "||",
"StatisticValueSeparator": "__",
"SearchCode": "valid_search_code"
},
{
"ErrorFlag": true,
"ErrorMsg": "No config file found for invalid_search_code",
"SearchCode": "invalid_search_code"
}
]
}
输入示例
输入不合法的参数:
{ "Email": "someone@test.com", "QueryKeyword": "test", "SearchCodeArray": [] }
返回示例
{
"StatusCode": 400,
"Info": "Request parameters are incomplete or incorrect",
"Data": null
}
输入示例
输入的Search Code无效:
{ "Email": "someone@test.com", "QueryKeyword": "test", "SearchCodeArray": ["invalid_search_code"] }
返回示例
{
"StatusCode": 500,
"Info": "System error",
"Data": [
{
"ErrorFlag": true,
"ErrorMsg": "No config file found for invalid_search_code",
"SearchCode": "invalid_search_code"
}
]
}