的 /search
Reactor API中的端点提供了一种查找符合所需标准的资源的方法,以查询形式表示。
可以搜索以下API资源类型,利用与在API中返回的基于资源的文档相同的数据结构:
audit_events
builds
callbacks
data_elements
environments
extension_packages
extensions
hosts
libraries
properties
rule_components
rules
所有查询的范围均为您当前的公司和可访问属性。
搜索功能有以下注意事项和例外:
有关如何使用此功能的详细信息,请参阅 搜索指南.
本指南中使用的端点是 Reactor API. 在继续之前,请查看 入门指南 以了解有关如何对API进行身份验证的重要信息。
您可以通过发出POST请求来执行搜索。
API格式
POST /search
请求
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"from": 0,
"size": 25,
"query": {
"attributes.name": {
"value": "Performance"
},
"attributes.revision_number": {
"range": {
"lte": "2",
"gt": "0"
}
}
},
"sort": [
{
"attributes.revision_number": "desc"
}
],
"resource_types": [
"data_elements",
"rule_components"
]
}
}'
属性 | 描述 |
---|---|
from |
要将响应偏移的结果数。 |
size |
要返回的最大结果量。 结果不能超过100项。 |
query |
表示搜索查询的对象。 对于此对象中的每个属性,键必须表示要查询的字段路径,并且值必须是其子属性确定要查询内容的对象。 对于每个字段路径,您可以使用以下子属性:
|
sort |
对象数组,指示对结果排序的顺序。 每个对象必须包含单个属性:键表示要排序的字段路径,值表示排序顺序(asc 升序, desc )。 |
resource_types |
字符串数组,用于指示要搜索的特定资源类型。 |
响应
成功的响应会返回查询的匹配资源列表。 有关API如何确定特定值匹配情况的详细信息,请参阅附录部分 匹配约定.
{
"data": [
{
"id": "DE5d11b3ed301d4ce99b530a5121e392b2",
"type": "data_elements",
"attributes": {
"created_at": "2020-12-14T17:36:09.045Z",
"deleted_at": null,
"dirty": true,
"enabled": true,
"name": "Performance Indicator",
"published": false,
"published_at": null,
"revision_number": 1,
"updated_at": "2020-12-14T17:36:09.045Z",
"clean_text": false,
"default_value": null,
"delegate_descriptor_id": "kessel-test::dataElements::dom-attribute",
"force_lower_case": false,
"review_status": "unsubmitted",
"storage_duration": null,
"settings": "{\"elementProperty\":\"html\",\"elementSelector\":\".target-element\"}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/property"
},
"data": {
"id": "PR97d92a379a5f48758947cdf44f607a0d",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/origin"
},
"data": {
"id": "DE5d11b3ed301d4ce99b530a5121e392b2",
"type": "data_elements"
}
},
"extension": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/extension"
},
"data": {
"id": "EX0348d463358c4c89afe726245576f112",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"updated_with_extension": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/updated_with_extension"
},
"data": {
"id": "EX1cc78b39339242da82a0e0752fa53375",
"type": "extensions"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR97d92a379a5f48758947cdf44f607a0d",
"origin": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2",
"self": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2",
"extension": "https://reactor.adobe.io/extensions/EX0348d463358c4c89afe726245576f112"
},
"meta": {
"latest_revision_number": 1
}
}
],
"meta": {
"total_hits": 1
}
}
以下部分包含有关使用 /search
端点。
搜索查询值被拆分为术语以与索引文档匹配。 每个术语之间 AND
关系。
使用 AND
作为 value_operator
,的查询值 My Rule Holiday Sale
解释为包含 My AND Rule AND Holiday AND Sale
.
使用 OR
作为 value_operator
,的查询值 My Rule Holiday Sale
解释为包含 My OR Rule OR Holiday OR Sale
. 匹配的术语越多,越高 match_score
. 由于部分术语匹配的性质,当没有与所需值紧密匹配的内容时,您可以获得一个结果集,其中该值仅在非常基本的级别上进行匹配,例如一些文本字符。
搜索与回答文档与提供查询的相关程度有关。 文档数据的分析和索引方式直接影响到这一点。
下表划分了常用字段类型的匹配约定:
字段类型 | 匹配约定 |
---|---|
字符串 | 包含部分术语分析的文本,不区分大小写 |
枚举值 | 完全匹配,区分大小写 |
整数 | 完全匹配 |
浮动 | 完全匹配 |
时间戳 | 精确匹配(DateTime格式) |
显示名称 | 包含部分术语分析的文本,不区分大小写 |
API中显示了其他有关特定字段的约定:
字段 | 匹配约定 |
---|---|
id |
完全匹配,区分大小写 |
delegate_descriptor_id |
精确匹配,区分大小写,且术语拆分为 :: |
name |
完全匹配,区分大小写 |
settings |
包含部分术语分析的文本,不区分大小写 |
type |
完全匹配,区分大小写 |