Search-Endpunkt
Der /search
-Endpunkt in der Reactor-API bietet eine Möglichkeit, Ressourcen zu finden, die den gewünschten Kriterien entsprechen, ausgedrückt als Abfrage.
Die folgenden Typen von API-Ressourcen sind durchsuchbar und verwenden dieselbe Datenstruktur wie die ressourcenbasierten Dokumente, die über die API zurückgegeben werden:
audit_events
builds
callbacks
data_elements
environments
extension_packages
extensions
hosts
libraries
properties
rule_components
rules
Alle Abfragen sind auf Ihre aktuelle Firma und die zugänglichen Eigenschaften beschränkt.
- Meta ist nicht durchsuchbar und wird nicht in den Suchergebnissen zurückgegeben.
- Schemafelder für Delegaten von Erweiterungspaketen (Aktionen, Bedingungen usw.) können als Text durchsucht werden, nicht als verschachtelte Datenstruktur.
- Bereichsabfragen unterstützen derzeit nur Ganzzahlen.
Ausführlichere Informationen zur Verwendung dieser Funktion finden Sie im Suchleitfaden.
Erste Schritte
Der in diesem Handbuch verwendete Endpunkt ist Teil der Reactor-API. Bevor Sie fortfahren, lesen Sie zunächst das Erste-Schritte-Handbuch, um wichtige Informationen zur Authentifizierung bei der API zu erhalten.
Durchführen einer Suche perform
Sie können eine Suche durchführen, indem Sie eine POST-Anfrage stellen.
API-Format
POST /search
Anfrage
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
query
Ein Objekt, das die Suchabfrage darstellt. Für jede Eigenschaft in diesem Objekt muss der Schlüssel einen Feldpfad für die Abfrage darstellen und der Wert muss ein Objekt sein, dessen Untereigenschaften bestimmen, wonach abgefragt werden soll.
Für jeden Feldpfad können Sie die folgenden Untereigenschaften verwenden:
-
exists
: Gibt „true“ zurück, wenn das Feld in der Ressource vorhanden ist. -
value
: Gibt „true“ zurück, wenn der Wert des Felds mit dem Wert dieser Eigenschaft übereinstimmt. -
value_operator
: Boolesche Logik, die verwendet wird, um zu bestimmen, wie einevalue
-Abfrage verarbeitet werden soll. Die zulässigen Werte sindAND
undOR
. Wenn diese Option ausgeschlossen ist, wird von der LogikAND
ausgegangen. Weitere Informationen finden Sie im Abschnitt Wertoperator-Logik. -
range
Gibt „true“ zurück, wenn der Wert des Felds in einen bestimmten numerischen Bereich fällt. Der Bereich selbst wird durch die folgenden Untereigenschaften bestimmt:gt
: Größer als der angegebene Wert, nicht gleich.gte
: Größer oder gleich dem angegebenen Wert.lt
: Kleiner als der angegebene Wert, nicht gleich.lte
: Kleiner oder gleich dem angegebenen Wert.
sort
asc
für aufsteigende, desc
für absteigende Werte) dar.resource_types
Antwort
Eine erfolgreiche Antwort gibt eine Liste mit übereinstimmenden Ressourcen für die Abfrage zurück. Weitere Informationen dazu, wie die API Übereinstimmungen für bestimmte Werte ermittelt, finden Sie im Anhang zu Konventionen zum Abgleichen.
{
"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
}
}
Anhang
Der folgende Abschnitt enthält zusätzliche Informationen zur Verwendung des /search
-Endpunkts.
Wertoperator-Logik value-operator
Suchabfragewerte werden in Begriffe aufgeteilt, damit sie mit indizierten Dokumenten abgeglichen werden können. Zwischen jedem Begriff wird eine AND
-Beziehung angenommen.
Bei Verwendung von AND
als value_operator
wird der Abfragewert My Rule Holiday Sale
als Dokumente mit einem Feld interpretiert, das My AND Rule AND Holiday AND Sale
enthält.
Bei Verwendung von OR
als value_operator
wird der Abfragewert My Rule Holiday Sale
als Dokumente mit einem Feld interpretiert, das My OR Rule OR Holiday OR Sale
enthält. Je mehr Begriffe übereinstimmen, desto höher ist der match_score
. Wenn aufgrund der Art der teilweisen Zuordnung nichts dem gewünschten Wert entspricht, können Sie eine Ergebnismenge abrufen, bei der der Wert nur auf einem sehr einfachen Niveau übereinstimmt, z. B. nur einige Textzeichen.
Konventionen für den Abgleich conventions
Bei einer Suche geht es um die Beantwortung der Frage, wie relevant ein Dokument für eine Abfrage ist. Die Art und Weise, wie Dokumentdaten analysiert und indiziert werden, wirkt sich direkt darauf aus.
In der folgenden Tabelle werden die Konventionen für den Abgleich für allgemeine Feldtypen aufgeschlüsselt:
Es gibt zusätzliche Konventionen für bestimmte Felder, die in der API angezeigt werden:
id
delegate_descriptor_id
::
aufgeteilt sindname
settings
type