Acceleration Server

The picturesafe-search Acceleration Server is picturesafe’s commercial, licensed and supported offering. The server can be installed on-premise as a Java application, or run from a Docker image.

It provides a REST API and a lot of out-of-the-box functionalities.

picturesafe-search-enterprise-app

REST API

The Acceleration Server provides a REST API for managing Elasticsearch indices and executing searches:

Index resource

The index resource provides functions for Elasticsearch index operations, such as creating and deleting indices, updating the index configuration, or adding and deleting documents.

  • List indices
  • Get index settings
  • Create index
  • Delete index
  • Add documents to index
  • Rebuild index with data

REST API sample for adding documents:

PUT /api/v1/index/my-elastic-index/docs
[
  {
    "id": "100001",
    "title": "Test #1",
    "description.de" : "Test #1 mit dem Dude",
    "description.en" : "Test #1 with the Dude"
  },
  {
    "id": "100002",
    "title": "Test #2",
    "description.de" : "Test #2 mit dem Dude",
    "description.en" : "Test #2 with the Dude"
  },
  {
    "id": "100003",
    "title": "Test #3",
    "description.de" : "Test #3 mit dem Dude",
    "description.en" : "Test #3 with the Dude"
  }
]

Search resource

The search resource can be used to run fulltext, field, or combined searches:

  • Fulltext search
  • Field search
  • Combined search
  • Pagination
  • Sorting
  • Aggregation (facet search)

REST API search sample:

POST /api/v1/search/enterprise-app-test
{
  "query": {
    "queryType": "COMBINED",
    "operator": "AND",
    "queries": [
      {
        "queryType": "FULLTEXT",
        "value": "chuck"
      },
      {
        "queryType": "FIELD",
        "name": "ebook",
        "comparator": "EQ",
        "value": true
      }
    ]
  },
  "maxResults": 10000,
  "pageIndex": 1,
  "pageSize": 10
}

Suggest resource

The suggest resource provides completion suggestions for user input which is useful for a search-as-you-type functionality.

Stored search resource

The stored search resource provides functions for storing and loading search objects. Search objects are stored and retrieved in a way they can be directly used for a new search request.

More information

More information can be found in our API Reference and Usage Guide.

GUI

In addition to the REST API, the Acceleration Server offers a graphical user interface with many functions for index management and for the analysis of executed REST calls, like search requests:

Index settings and security

The Acceleration Server visualizes configurations and settings of Elasticsearch indices, users, roles and privileges:

picturesafe-search-enterprise-app

Monitoring API requests

Each API call is logged by the server to an elasticsearch index. This log can be accessed with the monitoring gui:

picturesafe-search-enterprise-app

Search history

Paginable overview of all searches performed via the REST API:

picturesafe-search-enterprise-app

Developer tools

Integrated developer tools and documentation :

picturesafe-search-enterprise-app

Make Elasticsearch queries easy

Elasticsearch is a very powerful search engine, but has a high complexity and requires a steep learning curve.

The following example compares the execution of the logical search expression fulltext contains "(test && title)" and count >= 102 sort by id between the Elasticsearch REST API, and the picturesafe-search Acceleration server:

Elasticsearch REST API:

POST POST /picturesafe-search-sample/_search
{
  "query": {
    "bool": {
      "must": [{
        "bool": {
          "filter": [{
            "query_string": {
              "query": "(test && title)",
              "fields": ["fulltext^1.0"]
            }
          }]
        }
      }],
      "filter": [{
        "range": {
          "count": {
            "from": 102,
            "to": null
          }
        }
      }]
    }
  },
  "sort": [{
    "id.keyword": {
      "order": "desc",
      "missing": "_last"
    }
  }]
}

picturesafe-search Acceleration server:

POST /api/v1/search/picturesafe-search-sample
{
  "query": {
    "queryType": "COMBINED",
    "operator": "AND",
    "queries": [
      {
        "queryType": "FULLTEXT",
        "value": "test title"
      },
      {
        "queryType": "FIELD",
        "name": "count",
        "comparator": "GE",
        "value": 102
      }
    ]
  },
  "sortOptions": [
    {
      "attribute": "id",
      "direction": "DESC"
    }
  ]
}

As you can see, the picturesafe-search Acceleration Server focuses more on WHAT to search for than on HOW to search it and abstracts some complexity.

Interested?

For further information don’t hesitate to contact picturesafe sales per email at info@picturesafe.de or give it a try!