Integrating

There are four main steps involved in integrating with the Discovery Engine:

  • Install dependencies and the engine
  • Create a changeset publisher
  • Create the dimension definition
  • Integrate queries into your application
  • Monitor the engine

Install dependencies and the engine

The engine currently depends solely on Sun Java 1.6. See Engine and Data Tool Installation for UNIX Variants.

Create a changeset publisher

Content is imported into the engine in the form of a changeset, an XML document that defines which items have been added, removed, and modified in the application dataset. These changes need to be reflected in the Discovery Search Engine to ensure that the index and your dataset are in sync. Changesets are generated by a changeset publisher and pushed to the Discovery Search Engine using HTTP POST.

See Changesets for detailed information on authoring a changeset publisher.

Once the changeset has been created, it is pushed to the engine using HTTP POST. For example:

curl --header 'Content-Type: text/xml' --data-binary @changeset.xml \
    http://example.com:8090/ws/changeset

Create the dimension definition

The dimension definition defines the structure the dataset and is used by the engine to perform fuzzy matching. The definition itself is an XML document created in concert with an integration engineer. This process is described in detail in Overview.

Once the definition has been created, it is pushed to the engine using HTTP POST. For example:

curl --header 'Content-Type: text/xml' --data-binary @dimensions.xml \
    http://example.com:8090/ws/dimensions

Integrate queries into your application

The Query API is currently available via JSON enabling integration with a wide array of languages. See Overview for a detailed look at the API and examples in several languages.

The entry point is:

For releases prior to 3.8.2 the entry point was:

Monitor the engine

The engine can be monitored through its web interface at http://example.com:8090/status.

See also: Monitoring Options.