diff --git a/CHANGELOG.md b/CHANGELOG.md index 208721b..4899638 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## 4.1.1 [unreleased] +- Added `korean2` language - Improved performance of async full reindex ## 4.1.0 diff --git a/README.md b/README.md index 8d65632..cd744d9 100644 --- a/README.md +++ b/README.md @@ -318,6 +318,7 @@ A few languages require plugins: - `chinese` - [analysis-ik plugin](https://github.com/medcl/elasticsearch-analysis-ik) - `japanese` - [analysis-kuromoji plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-kuromoji.html) - `korean` - [analysis-openkoreantext plugin](https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext) +- `korean2` - [analysis-nori plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html) - `polish` - [analysis-stempel plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-stempel.html) - `ukrainian` - [analysis-ukrainian plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-ukrainian.html) - `vietnamese` - [analysis-vietnamese plugin](https://github.com/duydo/elasticsearch-analysis-vietnamese) diff --git a/lib/searchkick/index_options.rb b/lib/searchkick/index_options.rb index 540ea12..2bca147 100644 --- a/lib/searchkick/index_options.rb +++ b/lib/searchkick/index_options.rb @@ -197,6 +197,20 @@ module Searchkick ) stem = false + when "korean2" + settings[:analysis][:analyzer].merge!( + default_analyzer => { + type: "nori" + }, + searchkick_search: { + type: "nori" + }, + searchkick_search2: { + type: "nori" + } + ) + + stem = false when "vietnamese" settings[:analysis][:analyzer].merge!( default_analyzer => { diff --git a/test/language_test.rb b/test/language_test.rb index 4440887..4628558 100644 --- a/test/language_test.rb +++ b/test/language_test.rb @@ -48,6 +48,16 @@ class LanguageTest < Minitest::Test end end + def test_korean2 + # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html + with_options(Song, language: "korean2") do + store_names ["한국어를 처리하는 예시입니닼ㅋㅋ"], Song + assert_language_search "처리", ["한국어를 처리하는 예시입니닼ㅋㅋ"] + assert_language_search "한국어", ["한국어를 처리하는 예시입니닼ㅋㅋ"] + assert_language_search "를", [] + end + end + def test_polish # requires https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-stempel.html with_options(Song, language: "polish") do -- libgit2 0.21.0