Skip to content
English
  • There are no suggestions because the search field is empty.

Running the Shinydocs Search Engine on a Dedicated Server

This guide describes how to deploy the Shinydocs Search Engine (OpenSearch) on its own server, separate from the other Shinydocs components. Separating the search engine lets you size and scale it independently, and reduces resource contention on the primary server.

Overview
Server Role Components
Primary server Runs all Shinydocs components except the search engine Control Center, Shinydocs Search, and all other Shinydocs services
Secondary server Dedicated search engine host Shinydocs Search Engine (OpenSearch) only

Note: This guide covers a new installation. If you already have crawled data and want to move an existing search engine to a new server, the index data (the date-named folder under the search engine data directory) must also be migrated. Contact Shinydocs Support for assistance with that scenario.

Prerequisites
  • Two servers (physical or virtual) that can communicate with each other over the network.
  • The Shinydocs installer available on both servers.
  • Administrator access on both servers.
  • The ability to open inbound TCP port 9200 on the secondary server's firewall.
Step 1: Prepare the installer

On both servers, make sure the installer file is not blocked by Windows:

  1. Right-click the installer and select Properties.
  2. On the General tab, if an Unblock checkbox appears, select it, then click OK.
Step 2: Install the components

Run the installer on each server. On older installer versions, click Options in the install wizard before selecting Install to choose components. Newer versions may not offer every option listed below.

Primary server

  1. Deselect Install Shinydocs Search Engine.
  2. Complete the installation as normal.

Secondary server

  1. Deselect Install Shinydocs Enterprise Search (not present in newer versions).
  2. Deselect Shinydocs Dashboards.
  3. Complete the installation as normal.
Step 3: Configure the secondary server
  1. Stop unneeded services. Only Shinydocs Search Engine should be running. Stop all other Shinydocs services and set their startup type to Disabled.
  2. Edit the search engine configuration file. The default location is:
    C:\ProgramData\Shinydocs\SearchEngine\config\opensearch.yml
  3. Allow remote connections. Uncomment network.host and change its value from localhost to 0.0.0.0:
    network.host: 0.0.0.0

    Important: The file may contain more than one network.host entry. Ensure only one is uncommented.

  4. Set the discovery host. Uncomment discovery.seed_hosts and set it to the hostname of the secondary server:
    discovery.seed_hosts: ["<secondary-server-hostname>"]
  5. (Optional) Adjust memory allocation. Depending on your data volume, you may want to change the search engine's memory allocation. See Increasing Search Engine Service Memory Allocation.
  6. Open the firewall. Allow inbound TCP traffic on port 9200 on the secondary server.
  7. Restart the service. Restart the Shinydocs Search Engine service.
  8. Verify connectivity. From the primary server, browse to the following address and confirm that you receive a response from the search engine:
    http://<secondary-server-hostname>:9200
Step 4: Configure the primary server
  1. Remove the service dependencies. Open Command Prompt as Administrator and run:
    sc config "shinydocs-control-center" depend= ""
    sc config "shinydocs-search" depend= ""

    The space after depend= is required.

  2. Disable the local search engine. Stop the Shinydocs Search Engine service on the primary server and set its startup type to Disabled. All other Shinydocs services should be running.
  3. Point Control Center to the new search engine.
    1. Open Control Center at https://localhost:9701.
    2. Go to Settings > Services.
    3. Under Search Engine (OpenSearch), change the URL from http://localhost:9200 to:
      http://<secondary-server-hostname>:9200
    4. Save your changes.
Verification checklist
  • Only Shinydocs Search Engine is running on the secondary server.
  • Shinydocs Search Engine is stopped and disabled on the primary server.
  • http://<secondary-server-hostname>:9200 is reachable from the primary server.
  • Control Center shows the updated search engine URL.
  • All other Shinydocs services are running on the primary server.
Troubleshooting
Symptom Things to check
Cannot reach port 9200 from the primary server Confirm the firewall rule on the secondary server, and that the Search Engine service is running.
Search Engine service fails to start after editing the config Check opensearch.yml for duplicate network.host entries and for YAML formatting errors.
Shinydocs services on the primary server won't start Confirm the service dependencies were removed with the sc config commands above.

If you continue to experience problems, contact Shinydocs Support.