Elasticsearch

Elasticsearch is a powerful search engine that provides numerous unique, configurable options, including "fuzzy matching” (i.e., matching similar words), predictive search, and auto-completion.

Elasticsearch is enabled by two web services, one used by Flare and the other used by Elasticsearch. The Elasticsearch web service runs a portal that lets you manage the targets, topics, and indexes employed by the Elasticsearch engine in your server-based HTML5 target.

Example Bob wants to use Elasticsearch with his HTML5 output.

First, he sends his network administrator the steps for setting up an Elasticsearch remote server.

After the network administrator finishes setting up the server, she sends Bob the URL for it. In this case, let’s say the URL is:

Copy
https://ourelasticsearchservices.fictionsoft.com

Bob opens his HTML5 target, selects the Search tab, and chooses Elasticsearch as the search engine type.

He also decides which Elasticsearch options on that tab he wants to use and sets them accordingly.

Next, Bob creates a primary publishing destination. This is the destination where he will send his output.

Let’s say Bob needs to upload his output to this location:

Copy
help.fictionsoft.com/myoutput/

One option is that Bob could use file transfer protocol (FTP) to copy his output directly up to the server where his output will be hosted. But suppose Bob prefers to use a third-party tool (say, FileZilla) to transfer his output files to the server. In that case, Bob chooses File System as the type, and for the directory he selects a folder that he created in his Documents folder.

Now Bob creates an Elasticsearch destination file. In this file, he chooses Elasticsearch as the type, and he enters the URL that his network administrator gave him (https://ourelasticsearchservices.fictionsoft.com).

Next, Bob returns to his target and opens the Publishing tab. In this tab, he places a check mark next to his primary destination. Then in the Elasticsearch Destination cell, he chooses the other destination file.

After saving all his changes, Bob builds the target. When that is done, he clicks the Publish button in the Target Editor, which copies the output files to the local folder he set up in his Documents directory.

Finally, Bob uses his third-party tool to transfer the output files from that Documents folder up to their final destination (help.fictionsoft.com/myoutput/). When users access that output, the search function will be using Elasticsearch features. (If Bob decided to use FTP or SFTP, the output would transfer directly to the server, and using the third-party tool would not be necessary.)

Note Synonyms are not supported in Elasticsearch.

Note Elasticsearch is not supported for outputs built on MadCap Central. However, you can publish directly from Flare to Central via a destination and Elasticsearch will be supported.

Note Search filters are not supported in Elasticsearch.

Note Multilingual Elasticsearch publishing (see Single Language vs. Multilingual Outputs) requires all targets to use the same GUID. This is set on the Search tab of the Target Editor (see Enabling Elasticsearch in the Target Editor). If the GUIDs in the targets are different, you might have empty targets on the portal or experience a publishing failing with error 400. If necessary, open targets in the Internal Text Editor to modify the GUID.

Note If you are viewing your generated Elasticsearch output on Microsoft Edge, you will not be able to search. In order to use Edge for your Elasticsearch output, you will need disable loopback in your Edge browser. A search on the internet can provide steps for doing this.