SearchDocument

>=4.9.6

接口功能

基于查询条件进行文档搜索

请求参数
参数 类型 必填 说明
Email 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"
        }
    ]
}
© Digital Maker Product Team all right reserved,powered by Gitbook该文件修订时间: 2023-02-02 10:40:12

results matching ""

    No results matching ""