Migrating from Voyager Server to Vose

Feb 6, 2019

Introduction

In this blog post, we’ll discuss how to migrate your current Voyager Server 1.9.x deployment to leverage the exciting new capabilities of our newest release, Vose, with minimal re-configuration.

For the purpose of this demonstration, we have a single instance of Voyager Server 1.9.12 running on Windows Server 2016.

This Voyager Server has a few Locations already configured including a file folder, an ArcGIS Server and a WMS server, each of which has been indexed. When migrating to Vose, it’s important to make sure that previously indexed content remains in the index after upgrade. An upgrade to Vose should not require any re-indexing of content.

Step 1: Upgrade Voyager Server

Vose is a suite of products that include Voyager HQ, Voyager Agent and Voyager Server. In Vose, our discovery framework has been modernized to scale horizontally to complete indexing as close to the content as possible. The new discovery components are included in Voyager HQ and Voyager Agent. The index itself remains in Voyager Server. Voyager Server 2.0 is included in Vose and contains significant upgrades for smart search capabilities.

We’ll upgrade my current Voyager Server from 1.9.12.4 to 2.0. This is a smooth upgrade and won't require re-indexing of source content. Our current index will remain intact. At a high level, we’re going to uninstall 1.9.12.4, leave the data folder intact, then install 2.0 and configure it to use the existing data folder.

Our first step is to uninstall Voyager Server 1.9.12.4. I'll use the Programs and Features control panel tool to uninstall. If prompted to remove the Voyager service account, please leave the box unchecked to remove the Voyager service account.

Our next step is to begin the installation of Voyager Server 2.0. When we install Voyager Server 2.0, we'll want to retain our existing data folder, which is located at D:\voyager\voyager_data. To install Voyager Server 2.0, we'll follow these steps (screenshots below):

  1. Open the Voyager Server installation media – VoyagerServer_x64_with_jre-2.0.exe
  2. Read and accept the License Agreement
  3. Set Destination Directory to D:\voyager\server_2.0(you may choose to set the destination directory to another value)
  4. Optionally create a start menu folder
  5. Install Voyager as a Service. By default, it will run as the LocalSystem account. If this is against your organization's practices, then choose a special user account for the service. I have a special user account named voyager, so that's what we'll use.
  6. When setup is complete, uncheck the Run Voyager Search box and click Finish.

Right now, Voyager Server 2.0 is installed, but post-installation configuration steps are required in order to direct Voyager Server 2.0 to use the existing data folder located at D:\voyager\voyager_data. We'll follow these steps for post-installation configuration (screenshots below):

  1. Open D:\voyager\server_2.0\app\Voyager.vmoptions in a text editor. Your path may be different, but this will be the Destination Directory value in the installation steps.
  2. Change the value of -Ddata.dir to D:/voyager/voyager_data
  3. Save Voyager.vmoptions, exit the text editor and restart the VoyagerService

Voyager Server 2.0 is now installed and configured with our existing data. In the screenshot below, we'll see the updates to Navigo in Voyager 2.0.

In this screenshot, we'll see that the Locations configuration has remained.

Step 2: Voyager HQ

As mentioned previously, our discovery framework has been modernized to scale horizontally and index as close to the content as possible. These new discovery components are included in Voyager HQ and Voyager Agent. HQ is the central control center for the new discovery components. It orchestrates the indexing process and works in concert with Voyager Server, which provides management controls, processing, display of search results and Voyager Analytics.

In this section, we'll install and configure HQ, attach it to our Voyager Server 2.0 and Import the Locations into Voyager HQ as Repositories.

Voyager recommends that Voyager HQ be installed on a separate server from Voyager Server. The discovery, extraction and pipeline processes in Voyager HQ can be resource intensive, so it's important to run these on a dedicated server as to not impact search queries to Voyager Server. The following diagram illustrates a recommended deployment pattern for a small deployment of Vose:

In this diagram, the existing Voyager Server is shown as well as a new server for running Voyager HQ. The system requirements for Voyager HQ are directly dependent on usage and configuration. An HQ instance contains a Local Agent that can perform indexing. In this deployment, we'll use the Local Agent inside HQ. Refer to https://help.voyagersearch.com/doc-vose-software-and-system-requirements for system requirements.

Our first step is to install Voyager HQ on the HQ server. The following steps will guide us through the process with screenshots to follow.

  1. Open the Voyager HQ installation media – voyager-hq-1.0-b532.exe
  2. Read and accept the License Agreement
  3. For Destination Directory, choose D:\voyager\hq. Feel free to choose a different location.
  4. Optionally create a start menu folder for Voyager HQ
  5. Install Voyager HQ as a Service. By default, it will run as the LocalSystem account. If this is against your organization's practices, then choose a special user account for the service. I have a special user account named voyager, so we're going to use it.
  6. When setup is complete, uncheck the Run Voyager HQ box and click Finish.

Our next step is to configure Voyager HQ. Voyager HQ will require a license and will need to be connected to a Voyager Server. Follow these steps to configure Voyager HQ (screenshots below).

  1. Go to Start then Voyager HQ then Launch Voyager HQ 1.0. A browser will open with a wizard to setup HQ
  2. Enter the License Key. Retrieve your License Key through Voyager's Community Portal.
  3. Connect to your Voyager Server. The Voyager Server URL, Username and Password are required. Voyager HQ will be restarted after successfully connecting to Voyager Server.
  4. Once the restart is completed and setup is successful, the Welcome to HQ screen is displayed.

Now that Voyager HQ is successfully configured, let's explore Voyager HQ a bit.

The Repositories screen is where connections to data repositories are configured. This replaces the Location concept in Voyager Server. From the Repositories screen, repositories can be added and removed, indexing can be started, and index contents can be cleared. The Repository screen will show the Name, Last Indexed, Type, Number of Records and the name of the Agent of the Repository.

The Status screen will show any in progress index jobs. From the Status screen, the job can be paused or stopped.

The Pipelines screen will show the Pipelines that have been configured in HQ. A Pipeline can be assigned to a Repository so when indexing occurs on the Repository the index records will flow through the configured Pipeline to further enrich the index records. The Pipelines in HQ are easier to configure compared to the Pipelines in Voyager Server. HQ provides a drag-and-drop user experience for configuring the Pipelines.

The Formats screen will show all available formats supported by Voyager for extracting content. Each format can have one or more Extractors that are capable of extracting content from the file. Voyager supports over 2000 different formats.

The Extractors screen displays the enabled extractors that are capable of extracting index content from files and services. This screen shows the status of each Extractor as well as the number of formats the extractor supports.

The Agents screen shows the Local and Remote Voyager Agents that this HQ is controlling. The Agents screen contains details about where the Agent is located and its current status. Since we haven't configured any additional Agents, the Local Agent in HQ is the only one displayed.

Step 3: Import Repositories

So far, in the migration from Voyager Server to Vose, we have upgraded Voyager Server to 2.0 and installed and configured Voyager HQ, but the discovery framework in Voyager Server is still being used to index content. In Voyager Server, we have several Locations configured that are indexing content. We now want to convert these Locations into Repositories in Voyager HQ. Voyager HQ provides a simple tool to convert from Voyager Server Locations to Voyager HQ Repositories. Let's walk through this process.

  1. In Voyager HQ, on the Repositories screen, click Import.
  2. Voyager HQ will then prompt for the Locations to import from Voyager Server. We want to import all locations into Voyager HQ.
  3. After Import, the Repositories screen will show the imported Repositories from Voyager Server Locations. Voyager HQ did not import the Referenced Data Location from Voyager Server. Voyager HQ handles referenced data differently compared to Voyager Server, so it's expected that there isn't a Referenced Data Repository in Voyager HQ.

Step 4: Add a Remote Agent

Now that we have a basic Vose setup configured and running, we'll want to add a Remote Agent. We want a Remote Agent to offload the indexing of content from the Local Agent running in HQ. I could also use a Remote Agent to index a remote content repository. One of the primary best practices to Voyager is to index as close to the content as possible in order to avoid network latency as much as possible.

In this step, we're going to configure a Remote Agent, attach it to Voyager HQ, and then configure a Repository to use the Remote Agent. Voyager Agent should be installed on a separate server and should not be installed on the same server as Voyager Server or Voyager HQ. I'll update my deployment diagram to reflect the new Remote Agent. This Agent may be located in another data center on the other side of the world, but in this case it's going to be in the same data center as Voyager Server and Voyager HQ.

In this diagram, the existing Voyager Server and Voyager HQ are shown as well as a new server for running Voyager Agent. Refer to https://help.voyagersearch.com/doc-vose-software-and-system-requirements for system requirements.

Our first step is to install Voyager Agent on the Agent server. The following steps will guide us through the process with screenshots to follow.

  1. Open the Voyager HQ installation media – voyager-agent-1.0-b532.exe
  2. Read and accept the License Agreement
  3. For Destination Directory, choose D:\voyager\agent. Feel free to choose a different location.
  4. Optionally create a start menu folder for Voyager Agent
  5. Install Voyager Agent as a Service. By default, it will run as the LocalSystem account. If this is against your organization's practices, then choose a special user account for the service. I have a special user account named voyager, so we're going to use it.
  6. When setup is complete, uncheck the Run Voyager Agent box and click Finish.

The next step is to configure Voyager Agent. We'll follow these steps to configure Voyager Agent (screenshots below).

  1. Go to Start then Voyager Agent then Launch Voyager Agent 1.0. A browser will open with a wizard to setup Agent
  2. Assign your Agent a Name.
  3. Connect to the HQ. The HQ URL, Username and Password are required to connect.
  4. After connection is successful, click Finish and the Agent will be restarted.

Going back to HQ and then going to the Agents screen, we can now see our new Agent (named Powers) is successfully connected to HQ.

Since I have a new Agent that's not being used, I'm going to assign a Repository to the Agent. The indexing of content from that Repository will be moved from the Local Agent in HQ to the Remote Agent. In this case, we're going to move the MassGIS repository from HQ to the new Remote Agent named Powers.

Conclusion

In this blog post, I demonstrated how we can migrate from my existing Voyager Server 1.9.x deployment to Vose. We were able to easily upgrade Voyager Server to 2.0. Additionally, Voyager HQ was deployed along with a remote Agent in order to leverage the horizontally scalable features of Vose.

Web Design and Web Development by Buildable