28 - use elasticsearch-analysis-decompound plugin to support finding results within compound words

This commit is contained in:
Joerg Reichert 2016-12-29 18:22:10 +01:00
parent 7f1aead3a8
commit 5c96de3ded
4 changed files with 40 additions and 2 deletions

View file

@ -7,5 +7,6 @@ services:
- docker - docker
script: script:
- chmod +x docker-entrypoint-es-plugins.sh
- docker-compose run web rake db:setup - docker-compose run web rake db:setup
- docker-compose run -e CI=true -e TRAVIS=true -e TRAVIS_BRANCH=$TRAVIS_BRANCH -e TRAVIS_COMMIT=$TRAVIS_COMMIT -e TRAVIS_JOB_NUMBER=$TRAVIS_JOB_NUMBER -e TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST -e TRAVIS_JOB_ID=$TRAVIS_JOB_ID -e TRAVIS_REPO_SLUG=$TRAVIS_REPO_SLUG web bin/run-tests - docker-compose run -e CI=true -e TRAVIS=true -e TRAVIS_BRANCH=$TRAVIS_BRANCH -e TRAVIS_COMMIT=$TRAVIS_COMMIT -e TRAVIS_JOB_NUMBER=$TRAVIS_JOB_NUMBER -e TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST -e TRAVIS_JOB_ID=$TRAVIS_JOB_ID -e TRAVIS_REPO_SLUG=$TRAVIS_REPO_SLUG web bin/run-tests

View file

@ -21,11 +21,40 @@ class Paper < ActiveRecord::Base
index_name ['srm', Rails.env, self.base_class.to_s.pluralize.underscore].join('_') index_name ['srm', Rails.env, self.base_class.to_s.pluralize.underscore].join('_')
settings index: { number_of_shards: 1 } do settings index: {
mappings dynamic: false do number_of_shards: 1,
analysis: {
filter: {
german_stop: {
type: "stop",
stopwords: "_german_"
},
german_stemmer: {
type: "stemmer",
language: "light_german"
},
decomp: {
type: "decompound"
}
},
analyzer: {
german: {
tokenizer: "standard",
filter: [
"lowercase",
"german_stop",
"german_normalization",
"german_stemmer",
"decomp"
]
}
}
}
} do mappings dynamic: false do
indexes :name, type: :string, analyzer: "german" indexes :name, type: :string, analyzer: "german"
indexes :content, type: :string, analyzer: "german" indexes :content, type: :string, analyzer: "german"
indexes :resolution, type: :string, analyzer: "german" indexes :resolution, type: :string, analyzer: "german"
indexes :reference, type: :string, index: :not_analyzed
indexes :paper_type, type: :string, index: :not_analyzed indexes :paper_type, type: :string, index: :not_analyzed
indexes :published_at, type: :date, index: :not_analyzed indexes :published_at, type: :date, index: :not_analyzed
indexes :originator, type: :string, index: :not_analyzed indexes :originator, type: :string, index: :not_analyzed

View file

@ -10,3 +10,6 @@ web:
ELASTICSEARCH_URL: 'http://elasticsearch:9200' ELASTICSEARCH_URL: 'http://elasticsearch:9200'
elasticsearch: elasticsearch:
image: elasticsearch:1.7 image: elasticsearch:1.7
volumes:
- .:/apps
entrypoint: /apps/docker-entrypoint-es-plugins.sh

View file

@ -0,0 +1,5 @@
#!/bin/bash
plugin -install elasticsearch-analysis-decompound --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-analysis-decompound/1.7.1.3/elasticsearch-analysis-decompound-1.7.1.3-plugin.zip
exec /docker-entrypoint.sh elasticsearch