Skip to main content
Skip table of contents

Installing Discovery Search

Purpose

Discovery Search uses Microsoft® Internet Information Services (IIS) for Windows Server and Windows Authentication with Kerberos to authenticate a user from an internet browser. This guide outlines Shinydocs™ Discovery Search prerequisites, the process for installing with or without Kerberos usage, and upgrade steps.

Prerequisites

Hardware

We recommend load testing Discovery Search in a staging environment before promoting it to production, as small intricacies in an environment may have an impact on performance and end-user experience. After initial load testing, adjust your hardware based on the needs of the environment.

For example, if your CPU utilization on machines running Discovery Search is above 95% under load, you should upgrade the number of CPU cores allocated to the machine.

Performance for Discovery Search is primarily based on the performance of your Indexing Cluster. To help identify performance bottlenecks, Discovery Search can log the response times of fetching data from the index and delivering the results to the end user.

Recommendation for up to 1000 Users

CPU

4 CPU Cores

  • 2.0 GHz or higher

  • Enterprise-grade (ex. Intel Xeon)

Memory (RAM)

8 GB

Disk (storage)

Minimum 2 GB free disk space

  • We recommend installing it on a non-system drive

  • Disk space recommendation includes space for logging

Network

1 gigabit

Recommendation for scaling to over 1000 users

Discovery Search scales best for over 1000 users with the use of load balancing. We recommend setting up multiple Discovery Search instances behind a load balancer(s) and using your monitoring application of choice (for example, Windows Performance Monitor) to track resources.

For more information, read this IIS Best Practices article from the Microsoft Tech Community.

Load Balancing

Discovery Search works with load balancers to reroute traffic based on usage. Load balancing can be done with Azure Load Balancer or Azure Application Gateway.

As Discovery Search is hosted in IIS, we recommend following your organization’s current policy on load-balancing IIS web applications/sites. If your Discovery Search is load-balanced, we recommend setting up and configuring on one machine, then replicating to other machines to ensure a consistent experience.

Software

Discovery Search is an application that runs on Microsoft Internet Information Services (IIS).

Component

Version

Internet Information Services (IIS)

Windows Server 2016: IIS Version 10.0 or above

Windows Server 2019: IIS Version 10.0 or above

Windows Server 2022: IIS Version 10.0 or above

Microsoft .NET Framework 

4.7.2 or higher

Shinydocs Discovery Server

Installation files

Shinydocs Cognitive Toolkit

Required for crawling data and creating indices

Shinydocs Cognitive Toolkit Version 2.10*

*Version 2.10 or later is required for crawling data and creating indices from Microsoft Exchange

IIS URL Rewrite 2.1*

2.1 or higher

Read about Microsoft URL Rewrite.

*Not required for Discovery Search 1.7.0.1 or later

Internet Information Services (IIS) Features 

Before installing Discovery Search, please enable and install the following Windows Roles and Features. These can be enabled in Windows Server Manager > Add Roles and Features Wizard.

Role

Location

ASP

Web Server (IIS) > Web Server > Application Development Features

ASP.NET

Web Server (IIS) > Web Server > Application Development Features

.NET Extensibility 4.x

Web Server (IIS) > Web Server > Application Development Features

Windows Authentication

Web Server (IIS) > Web Server > Security

Additional Admin Panel Requirements

To ensure Admin Panel pages save successfully in Discovery Search, please ensure that IIS_IUSRS or the application pool user has write access to the following directories:

  • Configuration

  • Scripts

And the following file:

  • Web.config

Installing Discovery Search

Without Kerberos pass-through

Create and Configure Discovery Search Site

  1. Extract shinydocs-discovery-search-<version>.zip to the directory where you want the application to reside

  2. On the extracted folder, go to Properties>Security 

  3. Add IIS_IUSRS to the permissions of the folder and give full control

  4. Ensure IIS_IUSRS or the Application Pool user has write access to the Scripts directory and the Web.config file

  5. Open Internet Information Services (IIS) Manager

  6. Create a new site

  7. Name your site Discovery Search

  8. Change the physical path to the extracted folder from Step 1

  9. Set the port you wish to use (80 is likely taken from the default IIS site)

  10. Click on the site in the tree

  11. Double-click Authentication under IIS 

  12. Disable Anonymous, Basic Authentication, and Forms Authentication

  13. Enable Windows Authentication and ASP.NET Impersonation

  14. Within the IIS Manager, right-click on the Discovery Search site and click Explore to view the site folder structure

  15.  Access and edit the Web.config file

    1. Change the IndexServerUrl key value to where the index is located and the port for it (default is 9200)

    2. [not required for versions 1.9 and later] In the IndexName key, add the indices you want to search, separated by a comma

    3. Ensure SettingsEncryptionKey is changed from “somebody change me” to a new value (for example, the best practice is a minimum of 12 characters, including letters, numbers, and special characters)

    4. For clustered systems, ensure the new SettingsEncryptionKey value is the same for all systems within a cluster

    5. Confirm ActiveDirectoryAdminGroup is configured

    6. Configure SettingsIndexName to a value if desired

    7. For clustered systems, ensure the SettingsIndexName value is the same for all systems with a cluster

    8. Save changes

  16. Open Windows command and restart IIS and run the following command: iisreset /noforce

Connect Discovery Search to an index

  1. Launch a browser and open the Discovery Search site (for example, http://localhost:9200/admin)

  2. Navigate to Roles

  3. From the Default Role, click Edit

  4. Select Sources Configuration

  5. Click + Add source

  6. Enter the name of the content source in Name

  7. In Indices, enter the name of the index that corresponds to the specified content source in Discovery Search

  8. Select the Language that the title will display in

  9. Enter the Title that will represent this index throughout the Discovery Search UI

  10. Click + Add source to add another source index to this role

  11. Once all sources are added, save changes

  12. Refer to Configuring Roles for more details

Each role can have different values for the above settings, as well as variances in what sources are available to each role

With Kerberos pass-through

Kerberos is a computer-network authentication protocol that works based on tickets that allow nodes to communicate over a non-secure network, to prove their identity to one another in a secure manner.

For more information on how to set up your Windows Server environment to support Shinydocs Discovery Server with Kerberos pass-through (double-hop authentication), read Setting up Kerberos authentication.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.