diff --git a/CHANGELOG.md b/CHANGELOG.md index 83ad027..c21ffb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Added support for reloadable synonyms for OpenSearch - Added experimental support for `opensearch` gem +- Removed `elasticsearch-xpack` dependency for reloadable synonyms ## 4.6.2 (2021-11-15) diff --git a/Gemfile b/Gemfile index bb5a52c..2a00c7d 100644 --- a/Gemfile +++ b/Gemfile @@ -13,5 +13,4 @@ gem "typhoeus" gem "redis" gem "connection_pool" gem "kaminari" -gem "elasticsearch-xpack", ">= 7.8", "< 7.14" gem "parallel_tests" diff --git a/README.md b/README.md index f82cf8b..3d28e46 100644 --- a/README.md +++ b/README.md @@ -375,9 +375,9 @@ search_synonyms: ["lightbulb => halogenlamp"] The above approach works well when your synonym list is static, but in practice, this is often not the case. When you analyze search conversions, you often want to add new synonyms without a full reindex. -#### Elasticsearch 7.3+ and OpenSearch +#### Elasticsearch 7.3+ or OpenSearch -For Elasticsearch 7.3+ and OpenSearch, we recommend placing synonyms in a file on the Elasticsearch or OpenSearch server (in the `config` directory). This allows you to reload synonyms without reindexing. +For Elasticsearch 7.3+ or OpenSearch, we recommend placing synonyms in a file on the Elasticsearch or OpenSearch server (in the `config` directory). This allows you to reload synonyms without reindexing. ```txt pop, soda @@ -387,22 +387,18 @@ burger, hamburger Then use: ```ruby -search_synonyms: "synonyms.txt" -``` - -For Elasticsearch, add [elasticsearch-xpack](https://github.com/elastic/elasticsearch-ruby/tree/master/elasticsearch-xpack) to your Gemfile: - -```ruby -gem 'elasticsearch-xpack', '>= 7.8', '< 7.14' +class Product < ApplicationRecord + searchkick search_synonyms: "synonyms.txt" +end ``` -Reload with: +And reload with: ```ruby Product.search_index.reload_synonyms ``` -#### Elasticsearch < 7.3 or OpenSearch +#### Elasticsearch < 7.3 You can use a library like [ActsAsTaggableOn](https://github.com/mbleigh/acts-as-taggable-on) and do: diff --git a/gemfiles/activerecord50.gemfile b/gemfiles/activerecord50.gemfile index 24fcd0c..3c172a3 100644 --- a/gemfiles/activerecord50.gemfile +++ b/gemfiles/activerecord50.gemfile @@ -9,7 +9,6 @@ gem "activerecord", "~> 5.0.0" gem "actionpack", "~> 5.0.0" gem "activejob", "~> 5.0.0", require: "active_job" gem "elasticsearch", "~> 6" -gem "elasticsearch-xpack", "~> 6" gem "redis" gem "connection_pool" gem "kaminari" diff --git a/gemfiles/activerecord51.gemfile b/gemfiles/activerecord51.gemfile index 60b624c..0e95930 100644 --- a/gemfiles/activerecord51.gemfile +++ b/gemfiles/activerecord51.gemfile @@ -9,7 +9,6 @@ gem "activerecord", "~> 5.1.0" gem "actionpack", "~> 5.1.0" gem "activejob", "~> 5.1.0", require: "active_job" gem "elasticsearch", "~> 6" -gem "elasticsearch-xpack", "~> 6" gem "redis" gem "connection_pool" gem "kaminari" diff --git a/gemfiles/activerecord52.gemfile b/gemfiles/activerecord52.gemfile index 95c95b6..180b726 100644 --- a/gemfiles/activerecord52.gemfile +++ b/gemfiles/activerecord52.gemfile @@ -9,7 +9,6 @@ gem "activerecord", "~> 5.2.0" gem "actionpack", "~> 5.2.0" gem "activejob", "~> 5.2.0", require: "active_job" gem "elasticsearch", "~> 7" -gem "elasticsearch-xpack", ">= 7.8", "< 7.14" gem "redis" gem "connection_pool" gem "kaminari" diff --git a/gemfiles/activerecord60.gemfile b/gemfiles/activerecord60.gemfile index a2c276b..83529f3 100644 --- a/gemfiles/activerecord60.gemfile +++ b/gemfiles/activerecord60.gemfile @@ -9,7 +9,6 @@ gem "activerecord", "~> 6.0.0" gem "actionpack", "~> 6.0.0" gem "activejob", "~> 6.0.0", require: "active_job" gem "elasticsearch", "~> 7" -gem "elasticsearch-xpack", ">= 7.8", "< 7.14" gem "redis" gem "connection_pool" gem "kaminari" diff --git a/gemfiles/activerecord70.gemfile b/gemfiles/activerecord70.gemfile index c494eec..6860595 100644 --- a/gemfiles/activerecord70.gemfile +++ b/gemfiles/activerecord70.gemfile @@ -9,7 +9,6 @@ gem "activerecord", "~> 7.0.0.alpha2" gem "actionpack", "~> 7.0.0.alpha2" gem "activejob", "~> 7.0.0.alpha2", require: "active_job" gem "elasticsearch", "~> 7" -gem "elasticsearch-xpack", ">= 7.8", "< 7.14" gem "redis" gem "connection_pool" gem "kaminari" diff --git a/gemfiles/mongoid6.gemfile b/gemfiles/mongoid6.gemfile index 4a71877..d82dec9 100644 --- a/gemfiles/mongoid6.gemfile +++ b/gemfiles/mongoid6.gemfile @@ -8,7 +8,6 @@ gem "mongoid", "~> 6.0.0" gem "activejob", require: "active_job" gem "redis" gem "elasticsearch", "~> 7" -gem "elasticsearch-xpack", ">= 7.8", "< 7.14" gem "actionpack" gem "kaminari" gem "gemoji-parser" diff --git a/gemfiles/mongoid7.gemfile b/gemfiles/mongoid7.gemfile index 3096ab2..c5a4590 100644 --- a/gemfiles/mongoid7.gemfile +++ b/gemfiles/mongoid7.gemfile @@ -8,7 +8,6 @@ gem "mongoid", "~> 7.0.0" gem "activejob", require: "active_job" gem "redis" gem "elasticsearch", "~> 7" -gem "elasticsearch-xpack", ">= 7.8", "< 7.14" gem "actionpack" gem "kaminari" gem "gemoji-parser" diff --git a/lib/searchkick/index.rb b/lib/searchkick/index.rb index 58c7aaa..ac7e259 100644 --- a/lib/searchkick/index.rb +++ b/lib/searchkick/index.rb @@ -183,11 +183,9 @@ module Searchkick if Searchkick.opensearch? client.transport.perform_request "POST", "_plugins/_refresh_search_analyzers/#{CGI.escape(name)}" else - require "elasticsearch/xpack" raise Error, "Requires Elasticsearch 7.3+" if Searchkick.server_below?("7.3.0") - raise Error, "Requires elasticsearch-xpack 7.8+" unless client.xpack.respond_to?(:indices) begin - client.xpack.indices.reload_search_analyzers(index: name) + client.transport.perform_request("GET", "#{CGI.escape(name)}/_reload_search_analyzers") rescue Elasticsearch::Transport::Transport::Errors::MethodNotAllowed raise Error, "Requires non-OSS version of Elasticsearch" end -- libgit2 0.21.0