Skip to main content

Elastic App Search

The Enterspeed Elastic App Search integration uses the destinations field to send data from views directly to a configured Elastic App Search engine. This means that you can decide on the schema level which views you want to send to Elastic App Search.

You will only have to set the destination field on the entity schema you want to send to Elastic App Search. It's possible to configure multiple Elastic App Search destinations if you need to push different types of data to different Elastic App Search engines.

Configuration

In order to setup the Elastic App Search configuration you need the following:

SettingDescription
Engine API EndpointThe endpoint of Elastic App Search engine you want to integrate to
Private API KeyThe Private API key used for calling Engine API endpoint
Enterspeed Environment Client API KeyThe API key for an Enterspeed Environment client. This is used to fetch the view that will be inserted into Enterspeed Elastic App

Options

Table of available options, that you can optionally specify, if needed for your use case.

SettingDescription
documentIdBy default Enterspeed uses view id as the value for document id in elastic app search. You can override default document id by providing value for this option.

Example of usage

Schema with elastic app search destination
/** @type {Enterspeed.FullSchema} */
export default {
triggers: function(context) {
context.triggers('geodata', ['city']);
},
actions: function (sourceEntity, context) {
context.destination('elastic-app-search').options({
documentId: `city-${sourceEntity.originId}`
});
},
properties: function ({url, properties: p}, context) {
return {
url: url,
name: p.city,
country: p.country,
population: parseInt(p.population),
location: `${p.lat},${p.lng}`,
photo: p.photo,
}
}
}

Elastic App Search specific properties

Useful resources about document limitations and other requirements: