Quick Start

This page contains everything you need to know to take SearchStax® for a test drive. We even supply the Solr configuration and sample documents for you to load. The instructions apply to both Linux and Windows.

1. Set Up an Account

To create a SearchStax® account, sign up here. Setting up an account is very straightforward.

For detailed information concerning accounts, see the Account Setup page.

2. Create a Solr Deployment

Deployments are created from the SearchStax Dashboard. You will need to choose the appropriate Cloud Provider and the Plan that works for you.


To learn more about Cloud Providers and Plans, see Plans.

3. Install the Zookeeper Script

Apache ZooKeeper is a centralized service for maintaining configuration information. In a SearchStax deployment, Zookeeper acts as a centralized repository for your Solr configuration files.

In production systems, there are typically three or more Zookeeper instances, collectively called an "ensemble." This is what you get with a SearchStax "standard" plan. Our "basic" plan has only one Zookeeper instance.

We have created a script to help you interact with your Zookeeper ensemble. This script makes it easier to connect to Zookeeper and upload your Solr configurations. We provide both Linux and Windows versions of the script.


The script's ZIP file includes a small amount of sample data so you can deploy a simple Solr configuration right away. The script's parameters are preset to support this default deployment.

We have made the script available in several different ways. Choose the one that is easiest for you. All methods download the same master.zip file, which contains both the Linux and Windows scripts. Unzip the file in a directory of your choice.

Unzip the file. The top-level directory is \searchstax-client-master. Navigate to the scripts subdirectory (\searchstax-client-master\solr-5\scripts). Locate zkcli.sh and zkcli.bat in that directory. These are the Linux and Windows versions of the script, respectively.

4. Upload a Solr Configuration

It is easy to deploy your Solr project it to the cloud. This involves uploading your Solr configuration files to the Zookeeper ensemble of your SearchStax deployment. Zookeeper, in turn, will distribute the configuration files to the servers that need them.

We have provided example configuration files for the purposes of this exercise. They are part of master.zip.

In a terminal window, navigate to the \searchstax-client-master\solr-5\scripts directory and then run the appropriate script:


> ./zkcli.sh -zkhost <zookeeper URL> -cmd upconfig -confdir <Solr configuration> -confname <configuration name>


$ zkcli.bat -zkhost <zookeeper URL> -cmd upconfig -confdir <Solr configuration> -confname <configuration name>

where <zookeeper URL> is the Zookeeper Ensemble URL from your SearchStax dashboard; Screenshot

<Solr configuration> is the path to your Solr configuration directory (../configsets/basic_configs/conf/); and <configuration name> will be Zookeeper's internal name for this configuration (test1).

For example:

./zkcli.sh -zkhost ss180178-1-zk-us-west-2-aws.measuredsearch.com:2181 -cmd upconfig 
           -confdir ../configsets/basic_configs/conf/ -confname test1

When successful, you'll see a number of INFO messages scroll by. The last few lines list the configuration files that have been uploaded to Zookeeper.

5. Create a Collection

The remaining Quick Start steps require the use of cURL, a common command-line tool for getting or sending files using URL syntax. cURL is freely available for many operating systems, including Linux and Windows.

Once you have uploaded your configuration, you can create a Solr collection by specifying its name, number of shards, number of replications, and any other parameters you require.

In a terminal window, run the following cURL command. (You can run this command from any directory.)


$ curl '<Load Balancer URL>admin/collections?action=CREATE&name=<collectionName>&collection.configName=<configName>&numShards=1'


> curl.exe "<Load Balancer URL>admin/collections?action=CREATE&name=<collectionName>&collection.configName=<configName>&numShards=1" -k

Note for Windows users: If you have difficulty using cURL for Windows, try running cURL from Cygwin instead. It is much more user-friendly.

Note the use of double-quotes in Windows. Also, the "-k" switch will turn off aggressive certificate checking.

<Load Balancer URL> is the URL from the SearchStax dashboard for your deployment. Screenshot

<collectionName> is the name of the new Solr collection (testcollection), and <configName> is the name of the configuration you uploaded to Zookeeper (test1).

For example:

$ curl 'https://ss180178-us-west-2-aws.measuredsearch.com/solr/admin/collections?action=CREATE&name=testcollection&collection.configName=test1&numShards=1&replicationFactor=1&maxShardsPerNode=1'

If you do not specify values for numShards, replicationFactor, and maxShardsPerNode, they will default to 1, 1, and 1. This is appropriate for a Basic deployment plan, but a Standard deployment should have replicationFactor set to 3 (or to the number of servers in the deployment).

When successful, cURL will display an XML return document similar to the following one. Look for the word "success."

<?xml version="1.0" encoding="UTF-8"?>
    <lst name="responseHeader">
        <int name="status">0</int>
        <int name="QTime">4438</int>
    <lst name="success">
        <lst name="">
            <lst name="responseHeader">
                <int name="status">0</int>
                <int name="QTime">3019</int>
            <str name="core">

6. Index Documents

Once the Solr index has been initialized by creating a Collection, you can load your documents.

In a terminal window, navigate to the \searchstax-client-master\solr-5\data directory. This is where our example data file, sample.json resides. This file contains two extremely brief documents:

 {"id" : "TestDoc1", "title_s" : "test1"},
 {"id" : "TestDoc2", "title_s" : "another test"}

Run the following cURL command in the terminal window:


$ curl -X POST -H 'Content-type:application/json' -d <datafile>
    '<Load Balancer URL><collectionName>/update?commit=true'


> curl.exe -X POST -H "Content-type:application/json" -d <datafile>
    "<Load Balancer URL><collectionName>/update?commit=true" -k

Note the use of double-quotes in Windows. Also, the "-k" switch will turn off aggressive certificate checking.

<datafile> is the path and file name of the file to upload (@sample.json). <Load Balancer URL> is the URL from the SearchStax dashboard for your deployment. <collectionName> is the name of the new Solr collection (testcollection).

For example:

$ curl -X POST -H 'Content-type:application/json' -d @sample.json 'https://ss180178-us-west-2-aws.measuredsearch.com/solr/testcollection/update?commit=true'

When successful, cURL returns a confirmation similar to this one:


7. Search the Collection

A simple query will demonstrate that all of the previous steps have been accomplished correctly.

You can query your Solr index (from any directory) using the following cURL command:


$ curl '<Load Balancer URL><collectionName>/select?q=*:*&wt=json&indent=true'


> curl.exe "<Load Balancer URL><collectionName>/select?q=*:*&wt=json&indent=true" -k

Note the use of double-quotes in Windows. Also, the "-k" switch will turn off aggressive certificate checking.

<Load Balancer URL> is the URL from the SearchStax dashboard for your deployment. <collectionName> is the name of the new Solr collection (testcollection). The query asks for every document (*:*), with the output in indented json format.

For instance:

$ curl 'https://ss180178-us-west-2-aws.measuredsearch.com/solr/testcollection/select?q=*:*&wt=json&indent=true'

A successful search returns a json document similar to this one. Note that Solr located both of our indexed documents.

        "title_s":"another test",

If you prefer, you can also query the collection through the dashboard of the Solr Load Balancer. Go back to the SearchStax dashboard for your deployment and click on the Load Balancer URL. Screenshot
This takes you directly to the Solr Dashboard. Select testcollection and navigate to the Query tab. The default query is *:*. Screenshot
Scroll down to the bottom of this page and click the Execute Query button. You'll see the same json response document as was discussed above.

Tips and Tricks

Here are a few insights to help manage your SearchStax distribution.

Update the Schema

It is very common to make changes in your Solr schema during the early stages of your project. Updating the Solr configuration is simple, but a schema change invalidates the existing index. See Frequently Asked Questions for detailed instructions.

Clear the Index

When debugging the pathways that bring documents into the index, it is common to delete all index records before trying again. See Frequently Asked Questions for detailed instructions.

Expand/Contract Your Deployment

SearchStax gives you the ability to add servers to your initial deployment during peak times of the year, and to retire them again during the off-season. From the SearchStax dashboard for your deployment, select the gear icon and click Add nodes from the menu. Then use the quantity button control to adjust the size of your deployment up or down. Billing is adjusted automatically.
It usually takes only a few minutes for the changes to take effect, depending on the number of nodes and the size of your index.

If you change the number of servers in your deployment to meet seasonal demands, SearchStax does not automatically adjust the number of shards or replicas. That adjustment is up to you. See AddReplica in the Solr documentation.

Next Steps

Success! You have created your first SearchStax deployment with a Solr Collection. You have deployed a Solr project, loaded documents into the index, and have performed a successful query!

Now you can read through the rest of the documentation to learn the details of everything that SearchStax can do for you!

Contact Us!

Don't hesitate to reach out to us at support@measuredsearch.com. We are happy to answer your questions.