It's better when it's simple

User Tools

Site Tools


This is an old revision of the document!

elasticsearch Plugin

Compatible with DokuWiki

  • 2020-07-29 "Hogfather" unknown
  • 2018-04-22 "Greebo" yes
  • 2017-02-19 "Frusterick Manners" unknown
  • 2016-06-26 "Elenor Of Tsort" unknown

plugin Integrate Elasticsearch engine

Last updated on

Tagged with search


A CosmoCode Plugin

:!: External requirements: This plugin requires the following additional components that must be installed separately:

  • Elasticsearch instance (latest supported version 7.1)

Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.


The simplest way to integrate an Elasticsearch engine is to:

  1. enter the configuration of your Elasticsearch server in the Configuration Settings,
  2. create the index (see below),
  3. let the index fill when users browse your Wiki.

You can use the Advanced Search Tools to filter the results by namespace and date of the last modification. All access rights are respected, so users will only find pages for which they have at least read privileges.

Configuration and Settings

One of the main reasons for using a dedicated search engine is that it provides advanced features, such as fuzzy search. To enable it, the pages must be indexed using a linguistic analyzer in the appropriate language. Make sure to create the language mapping using the CLI tool before filling the index.

./bin/plugin.php elasticsearch createlangmapping

If you have configured multiple languages using the Translation plugin, they will be mapped as well.

At present there is no special filter that would let the user search in a particular language only. However, it is possible to filter the results by language namespaces.

Index management

Create the DokuWiki index either in the Elasticsearch instance itself, or using the provided CLI tool:

./bin/plugin.php elasticsearch createindex

The pages will be indexed when browsed. When a page is updated, its entry in the index will be updated as well. You can also force indexing the whole Wiki at once using the CLI tool, for example to build the index for the first time or when you have made extensive changes (like moving pages or updating the ACLs).

./bin/plugin.php elasticsearch index




ToDo/Wish List

  • search a specific language
  • exact match (non-fuzzy search)
  • integration of tags; tagged pages are shown on the results page but this bypasses Elasticsearch
plugin/elasticsearch.1562243925.txt.gz · Last modified: 2019-07-04 14:38 by andi