Configuring Service Directory for On-Premise Search

The On-Premise Search service relies on a configuration file in /usr/local/jive/services/search-service/ called serviceDirectory.json that provides the host and port the On-Premise Search service needs to bind to for all of the logical services hosted within it.

Because all of the services in On-Premise search are provided by the Search service process, the host and port for every logical service needs to be the same and needs to point to a non-loopback local network interface. The default host value is 0.0.0.0, which causes the On-Premise search to scan all local network interfaces and choose the first non-loopback one it finds. On multi-homed machines, On-Premise search may not choose the desired network interface. Therefore, if you are running On-Premise search on a multi-homed machine, you need to explicitly configure which network interface you want to bind to by changing the host values in the serviceDirectory.json file.

Important:

The On-Premise Search service may be bound to the wrong interface if:

  • The service is up and locally accessible.
  • The service is not accessible from the web application nodes, but you can ping the On-Premise Search host from the web application nodes.
Here is a sample file:
{
  "defaultServiceDirectory" : {
    "directory" : {
      "host" : "search.yourOrganization.com",
      "port" : 30000
    },
    "search" : {
      "host" : "search.yourOrganization.com",
      "port" : 30000
    },
    "searchIndexManage" : {
      "host" : "search.yourOrganization.com",
      "port" : 29000
    },
    "rebuildSearchIndex" : {
      "host" : "search.yourOrganization.com",
      "port" : 29000
    },
    "activityIngress" : {
      "host" : "search.yourOrganization.com",
      "port" : 29000
    }
  },
}