Browse Source

feat: set analyzer for elasticsearch (#2793)

* Feature: Custom configuration for elasticsearch

For better search results especially in Chinese, which the standard token analyzer may not work well.

* Set default analyzer in settings when building index

* Remove dangling comma
pull/2815/head
scienceasdf 4 years ago
committed by GitHub
parent
commit
d89224405c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 3 deletions
  1. 10
      server/modules/search/elasticsearch/definition.yml
  2. 11
      server/modules/search/elasticsearch/engine.js

10
server/modules/search/elasticsearch/definition.yml

@ -26,16 +26,22 @@ props:
hint: The index name to use during creation
default: wiki
order: 3
analyzer:
type: String
title: Analyzer
hint: 'The token analyzer in elasticsearch'
default: simple
order: 4
sniffOnStart:
type: Boolean
title: Sniff on start
hint: 'Should Wiki.js attempt to detect the rest of the cluster on first connect? (Default: off)'
default: false
order: 4
order: 5
sniffInterval:
type: Number
title: Sniff Interval
hint: '0 = disabled, Interval in seconds to check for updated list of nodes in cluster. (Default: 0)'
default: 0
order: 5
order: 6

11
server/modules/search/elasticsearch/engine.js

@ -70,7 +70,16 @@ module.exports = {
body: {
mappings: (this.config.apiVersion === '6.x') ? {
_doc: idxBody
} : idxBody
} : idxBody,
settings: {
analysis: {
analyzer: {
default: {
type: this.config.analyzer
}
}
}
}
}
})
} catch (err) {

Loading…
Cancel
Save