Ingest API


This page describes how to use SearchStax® SearchStudio “Ingest API”.

The Search Endpoint (/emselect) for your SearchStudio App is available within your Apps Management page as shown below:

This is the Search API screen from Site Search where you can get the Search URL, Suggest URL and Credentials for the Site Search app.

The Ingest endpoint is the /update endpoint and should use the “Read-Write” Basic Authentication credentials

In the example above, the Ingest endpoint will be:

https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update
  

Contents of this page:

  

Indexing JSON Documents

For indexing a single JSON document, pass the JSON document to the /update/json/docs endpoint as shown below:

curl -X POST -H 'Content-Type: application/json' 'https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update/json/docs' --user app40-admin:REDACTEDPWD --data-binary '
{
  "id": "1",
  "title": "Doc 1"
}'

Adding multiple documents can be done by passing an array of JSON objects to the /update endpoint as shown below

curl -X POST -H 'Content-Type: application/json' 'https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update' --user app40-admin:REDACTEDPWD --data-binary '
[
  {
    "id": "1",
    "title": "Doc 1"
  },
  {
    "id": "2",
    "title": "Doc 2"
  }
]'

If the data is in a JSON file and contains an array of JSON objects, you can make a call to the /update endpoint as shown below

curl -X POST -H 'Content-Type: application/json' 'https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update' --user app40-admin:REDACTEDPWD --data-binary @example.json -H 'Content-type:application/json'
  

Indexing XML Documents

To index XML documents, you can send one or multiple <add> tags to the \update request as shown below:

curl -X POST -H 'Content-Type: text/xml' 'https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update' --user app40-admin:REDACTEDPWD --data-binary '
<add>
  <doc>
    <field name="id">id1</field>
    <field name="title">Document1</field>
    <field name="text">This is the first document</field>
   </doc>
</add>'
  • The <add> element introduces one more documents to be added. This can be substituted by <update> to update the document
  • The <doc> element introduces the fields making up a document.
  • The <field> element presents the content for a specific field.
  

Deleting Documents

Documents can be deleted from the index in two ways.

  • “Delete by ID” deletes the document with the specified ID
  • “Delete by Query” deletes all documents matching a specified query

Example:

curl -X POST -H 'Content-Type: text/xml' 'https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update' --user app40-admin:REDACTEDPWD --data-binary '
<delete>
  <id>0002166313</id>
  <id>0031745983</id>
  <query>title:title1</query>
  <query>text:redact</query>
</delete>'
curl -X POST -H 'Content-Type: application/json' 'https://ss849763-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss849763-SearchStudioCorpSite/update' --user app40-admin:REDACTEDPWD --data-binary '
{
  "delete": {"id": "0002166313"},
  "delete": {"id": "0031745983"},
  "delete": {"query": "title:title1"},
  "delete": {"query": "text:redact"}
}'
  

API Limits

  • All update requests should have a max size of 2048KB.