Skip to main content

Search

Search-APIs are used to find the records in the environment. In combination with the configuration-APIs a set of specific search-fields can be presented. Familiarize yourself with these responses to include all possible options.

Search Globally

Endpoint: /publicapi/global/search-global

Method: POST

Content-Type: application/json

Search Api used for finding moderated documents inside Atlantis. The following steps can be used to start searching, sorting, and filtering.

Examples

Below you'll find several examples demonstrating how to use the Public Search API. These examples illustrate how to construct search requests for basic queries, filtered searches, and more advanced use cases like searching within a specific working set or description groups.

The following payload can be used a good starting point:

{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9
}
}

Simple search with filter

In the result-response you get, based on configuration, filters from the response-property: data.filterFieldsWithOptions which can be used to filter on specific values. You can provide multiple terms in the terms array to filter on multiple values for the same field.

{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"filterFields": [
{
"name": "Objectnaam",
"terms": [
"stoel",
"tafel"
]
}
]
}
}

Simple search with sorting

In the result-response you get, based on configuration, sort-options from the response-property: data.sortOptions which can be used to sort on specific values.

{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"sort": {
"name": "Periode",
"direction": "asc"
}
}
}

Simple search within a working set

To search within a specific public working set, use the workingSet property with the name of the working set. This is useful when you want to limit search results to a curated subset of documents, such as a thematic collection or a specific project.

Note: This feature is available in a minor release after 5.26.1.

{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"workingSet": {
"name": "Collectie_Oude_Kaarten"
}
}
}

Simple search within specific description groups

To limit your search to specific description groups, use the descriptionGroups property with an array of description group names. This allows you to search only within certain categories or types of records.

{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"descriptionGroups": [
"Beelddocumenten",
"Kranten"
]
}
}

Response

The response will be the result of your search data. Using the current resultPage, you can receive the found documents.
Response will also include filterFields and sortOptions, which can be used to improve the result.

Important: All fields in the response, including resultFields, filterFieldsWithOptions, and sortOptions, are based on configuration that can be customized per customer. The available fields and options are configured in the system and can be added or modified upon customer request.

{
"data": {
"resultCount": 0,
"currentResultPage": [
{
"id": "string",
"title": "string",
"icoonUrl": "string",
"multimediaUrls": [
"string"
],
"resultFields": {},
"extraFields": {},
"location": "string"
}
],
"filterFieldsWithOptions": [
{
"name": "string",
"label": "string",
"filterOptions": [
{
"Waarde": "string",
"Aantal": 0
}
]
}
],
"sortOptions": [
{
"name": "string"
}
]
}
}

Search globally using multiple search-fields

Endpoint: /publicapi/global/search-with-fields

Method: POST

Content-Type: application/json

When the base Search Api is not enough for your needs than you can use this API to search with specific search-fields. Search-fields can be retrieved from the configuration-api.
The following steps can be used to start searching with fields

Examples

Below you'll find several examples demonstrating how to use the Public Search API with fields. These examples illustrate how to construct search requests for basic queries, filtered searches, and more advanced use cases like searching within a specific working set or description groups.

Search with search-fields

The following payload can be used a good starting point:

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
]
}
}
}

In this example two wildcards are used to search for Vervaardiger containing Henk. You can also provide multiple terms in a terms array to search for multiple values in the same field:

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"terms": [
"*Henk*",
"*Jan*"
]
}
]
}
}
}

Search with range search-fields

For numeric or date fields, you can use a range search instead of a term. Use the range property with from and to values to search within a specific range.

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Periode",
"range": {
"from": "2000",
"to": "2019"
}
}
]
}
}
}

Search with search-fields and filter fields

You can combine searchFields with filterFields to refine your search results. Filter fields can be used to filter on specific values, and you can provide multiple terms in the terms array to filter on multiple values for the same field.

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
],
"filterFields": [
{
"name": "Objectnaam",
"terms": [
"stoel",
"tafel"
]
}
]
}
}
}

Search with search-fields within a working set

To search within a specific public working set, use the workingSet property with the name of the working set. This is useful when you want to limit search results to a curated subset of documents, such as a thematic collection or a specific project.

Note: This feature is available in a minor release after 5.26.1.

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
],
"workingSet": {
"name": "Collectie_Oude_Kaarten"
}
}
}
}

Search within specific description groups

To limit your search to specific description groups, use the descriptionGroups property with an array of description group names. This allows you to search only within certain categories or types of records.

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
],
"descriptionGroups": [
"Beelddocumenten",
"Kranten"
]
}
}
}

Response

The response will be the result of your search data. Using the current resultPage, you can receive the found documents.
Response will also include filterFields and sortOptions, which can be used to improve the result.

Important: All fields in the response, including resultFields, filterFieldsWithOptions, and sortOptions, are based on configuration that can be customized per customer. The available fields and options are configured in the system and can be added or modified upon customer request.

{
"data": {
"resultCount": 0,
"currentResultPage": [
{
"id": "string",
"title": "string",
"icoonUrl": "string",
"multimediaUrls": [
"string"
],
"resultFields": {},
"extraFields": {},
"location": "string"
}
],
"filterFieldsWithOptions": [
{
"name": "string",
"label": "string",
"filterOptions": [
{
"Waarde": "string",
"Aantal": 0
}
]
}
],
"sortOptions": [
{
"name": "string"
}
]
}
}

Shared environment notes

For shared environments like AtlantisLite, a special searchfield will be available to make sure you'll retrieve only records from the desired part of the environment.
For example; the field CMSegment will be available and prefilled with the prefix of the customer.

{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "CMSegment",
"term": "DEVENTIT"
}
]
}
}
}