Getting Started

Welcome to App Search!

App Search contains robust developer APIs and people friendly dashboard controls.

It powers search for thousands of popular and delightful applications around the world and it’s backed by Elasticsearch.

Ready to see it in action? Let’s get going!

1 - Create an Engine

An Engine is your search engine. It is an information repository that specializes in search.

To create an Engine, locate and click the Create an Engine button from your account home page.

Your Engine can be performance optimized in 13 different languages, or you can default to Universal - it works great for most languages.

Pick a language, provide a name, then click Create Engine:

Creating an Engine - Enter your new Engine’s name

Creating an Engine

2 - Index Documents

You can index any JSON object, which will become a search-optimized document within your Engine.

A schema is created for you when you index your data - you do not need to specify any schema or alter your data before uploading.

You can alter your schema later to set the appropriate data types.

You have two options for indexing:

  1. Paste or Upload a sample: Click into Documents, then click Index Documents.
  2. Use the /documents API endpoint - this is your primary indexing method:

Example - Indexing two objects into an Engine. Your [HOST_IDENTIFIER] and [PRIVATE_API_KEY] are available within the Credentials tab. The [ENGINE_NAME] can be found in your Engines page.

curl -X POST 'https://[HOST_IDENTIFIER].api.swiftype.com/api/as/v1/engines/[ENGINE_NAME]/documents' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer [PRIVATE_API_KEY]' \
-d '[
      {
        "description": "Covering most of Mount Desert Island and other coastal islands, Acadia features the tallest mountain on the Atlantic coast of the United States, granite peaks, ocean shoreline, woodlands, and lakes. There are freshwater, estuary, forest, and intertidal habitats.",
        "nps_link": "https://www.nps.gov/acad/index.htm",
        "states": [
          "Maine"
        ],
        "title": "Acadia",
        "id": "park_acadia",
        "visitors": 3303393,
        "world_heritage_site": false,
        "location": "44.35,-68.21",
        "acres": 49057.36,
        "square_km": 198.5,
        "date_established": "1919-02-26T06:00:00Z"
      },
      {
        "description": "The southernmost National Park is on three Samoan islands and protects coral reefs, rainforests, volcanic mountains, and white beaches. The area is also home to flying foxes, brown boobies, sea turtles, and 900 species of fish.",
        "nps_link": "https://www.nps.gov/npsa/index.htm",
        "states": [
          "American Samoa"
        ],
        "title": "American Samoa",
        "id": "park_american-samoa",
        "visitors": 28892,
        "world_heritage_site": false,
        "location": "-14.25,-170.68",
        "acres": 8256.67,
        "square_km": 33.4,
        "date_established": "1988-10-31T06:00:00Z"
      }
    ]'

3 - Refine Search

Now that you have documents within your Engine, you are ready to search!

There are a variety of tools that you can use to help perfect your result sets:

Once you’re happy with your configuration, try some queries in the Query Tester:

Testing a query - Enter any term that matches one or more documents

Query Tester

You’re now well equipped to quickly create a relevant, dynamic search experience.

4 - Build

App Search provides tools to help you build your search experience.

The Reference UI can be found through the dashboard.

It can help you test your data against an open source, foundational search experience.

You can download your configured Reference UI and use it as a starting point.

We’ve also developed an open source Search UI.

Search UI works out of the box with App Search, and provides deep flexibility to help craft modern, React search experiences.

Finally, we offer a variety of first party clients, so you can build whatever suits your imagination:

Keep Learning

We’ve covered the getting started materials. Now... go deeper!

Consider learning about Authentication, then spend some time with the the API Overview.

Enjoy!