DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:elasticsearch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
plugin:elasticsearch [2019-07-04 14:34]
annda created
plugin:elasticsearch [2019-09-12 21:22] (current)
Aleksandr http://github to https://github
Line 6: Line 6:
 email      : dokuwiki@cosmocode.de ​ email      : dokuwiki@cosmocode.de ​
 type       : action type       : action
-lastupdate : 2019-07-04+lastupdate : 2019-07-31
 compatible : Greebo compatible : Greebo
 depends ​   :  depends ​   : 
Line 13: Line 13:
 tags       : search tags       : search
  
-downloadurl: ​http://​github.com/​cosmocode/​dokuwiki-plugin-elasticsearch/​zipball/​master +downloadurl: ​https://​github.com/​cosmocode/​dokuwiki-plugin-elasticsearch/​zipball/​master 
-bugtracker : http://​github.com/​cosmocode/​dokuwiki-plugin-elasticsearch/​issues +bugtracker : https://​github.com/​cosmocode/​dokuwiki-plugin-elasticsearch/​issues 
-sourcerepo : http://​github.com/​cosmocode/​dokuwiki-plugin-elasticsearch/​+sourcerepo : https://​github.com/​cosmocode/​dokuwiki-plugin-elasticsearch/​
 donationurl: ​ donationurl: ​
  
Line 26: Line 26:
  
 :!: **External requirements:​** This plugin requires the following additional components that must be installed separately: ​ :!: **External requirements:​** This plugin requires the following additional components that must be installed separately: ​
-  * Elasticsearch instance (latest supported version 7.1)+  * [[https://​www.elastic.co/​products/​elasticsearch|Elasticsearch]] instance (latest supported version 7.1)
  
 Install the plugin using the [[plugin:​plugin|Plugin Manager]] and the download URL above, which points to latest version of the plugin. Refer to [[:​Plugins]] on how to install plugins manually. Install the plugin using the [[plugin:​plugin|Plugin Manager]] and the download URL above, which points to latest version of the plugin. Refer to [[:​Plugins]] on how to install plugins manually.
 +
 +Configure and setup the plugin as outlined under [[#​Configuration]] below.
  
 ===== Examples/​Usage ===== ===== Examples/​Usage =====
  
-The simplest way to integrate an Elasticsearch engine is to: +Once installed, ​the plugin will automatically react on the ?do=search actionreplacing DokuWiki'​s builtin search
-  - 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 [[https://​www.dokuwiki.org/​acl|access rights]] are respected, so users will only find pages for which they have at least read privileges.+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
  
 ===== Configuration and Settings ===== ===== Configuration and Settings =====
 +
 +To integrate this plugin, you will need to dp some configuration and run a few commands on the command line. 
 +
 +  - enter the configuration of your Elasticsearch server in the [[plugin:​config|Configuration Settings]]
 +  - 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:
 +
 +<​code>​
 +./​bin/​plugin.php elasticsearch createindex
 +</​code>​
 +
 +The name of the index is determined by the configuration.
  
 ==== Languages and fuzzy search ==== ==== Languages and fuzzy search ====
Line 49: Line 67:
 </​code>​ </​code>​
  
- If you have configured multiple languages using the [[https://​www.dokuwiki.org/​plugin:​translation|Translation plugin]], they will be mapped as well.+If you have configured multiple languages using the [[plugin:​translation|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. 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.
Line 55: Line 73:
 ==== Index management ==== ==== Index management ====
  
-Create ​the DokuWiki ​index either ​in the Elasticsearch instance itself, or using the provided CLI tool: +The pages will be indexed automatically when browsed, just like with the DokuWiki ​builtin mechanism. When a page is updated, its entry in the index will be updated as well.
- +
-<​code>​ +
-./​bin/​plugin.php elasticsearch createindex +
-</​code>​+
  
-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://​www.dokuwiki.org/​acl|ACLs]]).+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 [[:​acl|ACLs]]).
  
 <​code>​ <​code>​
Line 80: Line 94:
   * 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+  * integration of the [[plugin:​tagging]] plugin; tagged pages are shown on the results page but this bypasses Elasticsearch
  
  
plugin/elasticsearch.1562243648.txt.gz · Last modified: 2019-07-04 14:34 by annda