plugin:elasticsearch
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
plugin:elasticsearch [2019-07-04 14:34] – created annda | plugin:elasticsearch [2021-06-13 14:21] – Better description michaelsy | ||
---|---|---|---|
Line 2: | Line 2: | ||
---- plugin ---- | ---- plugin ---- | ||
- | description: | + | description: |
author | author | ||
email : dokuwiki@cosmocode.de | email : dokuwiki@cosmocode.de | ||
type : action | type : action | ||
- | lastupdate : 2019-07-04 | + | lastupdate : 2021-06-10 |
- | compatible : Greebo | + | compatible : Greebo, Hogfather |
depends | depends | ||
conflicts | conflicts | ||
Line 13: | Line 13: | ||
tags : search | tags : search | ||
- | downloadurl: | + | downloadurl: |
- | bugtracker : http:// | + | bugtracker : https:// |
- | sourcerepo : http:// | + | sourcerepo : https:// |
donationurl: | donationurl: | ||
Line 26: | Line 26: | ||
:!: **External requirements: | :!: **External requirements: | ||
- | * Elasticsearch instance (latest supported version 7.1) | + | * [[https:// |
Install the plugin using the [[plugin: | Install the plugin using the [[plugin: | ||
+ | |||
+ | Configure and setup the plugin as outlined under [[# | ||
===== Examples/ | ===== Examples/ | ||
- | The simplest way to integrate an Elasticsearch engine is to: | + | Once installed, |
- | - enter the configuration of your Elasticsearch server in the Configuration Settings, | + | |
- | - create the index (see below), | + | |
- | - 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 [[acl|access rights]] are respected, so users will only find pages for which they have at least read privileges. |
+ | You can use the Advanced Search Tools to filter the results by namespace and date of the last modification. | ||
+ | |||
+ | If the [[plugin: | ||
===== Configuration and Settings ===== | ===== Configuration and Settings ===== | ||
+ | To integrate this plugin, you will need to do some configuration and run a few commands on the command line. | ||
+ | |||
+ | - enter the configuration of your Elasticsearch server in the [[plugin: | ||
+ | - create the Index | ||
+ | - create the Language Mappings | ||
+ | - index your pages | ||
+ | |||
+ | ==== Creating the Index ==== | ||
+ | |||
+ | You can use the tools provided by ElasticSearch to create the index or simply run the provided command line tool to do so: | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | The name of the index is determined by the configuration. | ||
+ | |||
+ | === Re-creating the index === | ||
+ | |||
+ | Sometimes it is necessary to throw away the old index and replace it with a new one. This can be done via the same DokuWiki script with an additional parameter: | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | </ | ||
==== Languages and fuzzy search ==== | ==== Languages and fuzzy search ==== | ||
Line 49: | Line 75: | ||
</ | </ | ||
- | If you have configured multiple languages using the [[https:// | + | If you have configured multiple languages using the [[plugin: |
- | At present there is no special filter that would let the user search | + | By default all available translation are searched. Users can change the language selection in Advanced Search Tools. |
+ | |||
+ | You can also enable translation detection in the plugin configuration. The option | ||
==== Index management ==== | ==== Index management ==== | ||
- | Create | + | The pages will be indexed automatically when browsed, just like with the DokuWiki |
- | < | + | You can also force indexing the whole Wiki at once using the CLI tool. This is recommended when you build the index for the first time or when you have made extensive changes (like moving pages or updating the [[: |
- | ./ | + | |
- | </ | + | |
- | + | ||
- | 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 [[https:// | + | |
< | < | ||
./ | ./ | ||
</ | </ | ||
+ | |||
+ | ===== Other plugins ===== | ||
+ | |||
+ | The [[plugin: | ||
===== Development ===== | ===== Development ===== | ||
+ | |||
+ | ==== Plugin integration ==== | ||
+ | |||
+ | Elasticsearch emits several events that can be used by other plugins to put their own data into the search index. Take a look at the implementation [[plugin: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
==== Commit-Ticker ==== | ==== Commit-Ticker ==== | ||
Line 80: | Line 118: | ||
* search a specific language | * search a specific language | ||
* exact match (non-fuzzy search) | * exact match (non-fuzzy search) | ||
- | * integration of tags; tagged pages are shown on the results page but this bypasses Elasticsearch | ||
plugin/elasticsearch.txt · Last modified: 2024-02-15 12:01 by Aleksandr