diff --git a/lib/searchkick/index_options.rb b/lib/searchkick/index_options.rb index 4d95cf0..a2cdd08 100644 --- a/lib/searchkick/index_options.rb +++ b/lib/searchkick/index_options.rb @@ -169,28 +169,16 @@ module Searchkick type: "kuromoji" } ) - when "polish" + when "polish", "ukrainian", "smartcn" settings[:analysis][:analyzer].merge!( default_analyzer => { - type: "polish" + type: language }, searchkick_search: { - type: "polish" + type: language }, searchkick_search2: { - type: "polish" - } - ) - when "ukrainian" - settings[:analysis][:analyzer].merge!( - default_analyzer => { - type: "ukrainian" - }, - searchkick_search: { - type: "ukrainian" - }, - searchkick_search2: { - type: "ukrainian" + type: language } ) end diff --git a/test/language_test.rb b/test/language_test.rb index 8a7fb2e..636df8b 100644 --- a/test/language_test.rb +++ b/test/language_test.rb @@ -17,6 +17,17 @@ class LanguageTest < Minitest::Test end end + # experimental + def test_smartcn + # requires https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-smartcn.html + with_options(Song, language: "smartcn") do + store_names ["中华人民共和国国歌"], Song + assert_language_search "中华人民共和国", ["中华人民共和国国歌"] + # assert_language_search "国歌", ["中华人民共和国国歌"] + assert_language_search "人", [] + end + end + def test_japanese # requires https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-kuromoji.html with_options(Song, language: "japanese") do -- libgit2 0.21.0