From 4ca67b70abeea9c0bb5240bc6363b6e7f49d468f Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Thu, 20 Jan 2022 08:44:36 -0800 Subject: [PATCH] Removed wordnet option [skip ci] --- CHANGELOG.md | 1 + lib/searchkick.rb | 3 +-- lib/searchkick/index_options.rb | 17 ----------------- lib/searchkick/model.rb | 2 +- test/models/animal.rb | 3 +-- test/synonyms_test.rb | 8 -------- test/test_helper.rb | 3 --- 7 files changed, 4 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf99736..e690500 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Raise `ArgumentError` (instead of warning) for invalid regular expression modifiers - Raise `ArgumentError` instead of `RuntimeError` for unknown operators - Removed mapping of `id` to `_id` with `order` option +- Removed `wordnet` option - Dropped support for Ruby < 2.6 and Active Record < 5.2 - Dropped support for NoBrainer and Cequel - Dropped support for `faraday_middleware-aws-signers-v4` (use `faraday_middleware-aws-sigv4` instead) diff --git a/lib/searchkick.rb b/lib/searchkick.rb index fe370e3..fc138fa 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -39,12 +39,11 @@ module Searchkick class ImportError < Error; end class << self - attr_accessor :search_method_name, :wordnet_path, :timeout, :models, :client_options, :redis, :index_prefix, :index_suffix, :queue_name, :model_options + attr_accessor :search_method_name, :timeout, :models, :client_options, :redis, :index_prefix, :index_suffix, :queue_name, :model_options attr_writer :client, :env, :search_timeout attr_reader :aws_credentials end self.search_method_name = :search - self.wordnet_path = "/var/lib/wn_s.pl" self.timeout = 10 self.models = [] self.client_options = {} diff --git a/lib/searchkick/index_options.rb b/lib/searchkick/index_options.rb index 17dc749..09a5670 100644 --- a/lib/searchkick/index_options.rb +++ b/lib/searchkick/index_options.rb @@ -185,8 +185,6 @@ module Searchkick add_synonyms(settings) add_search_synonyms(settings) - # TODO remove in Searchkick 5 - add_wordnet(settings) if options[:wordnet] if options[:special_characters] == false settings[:analysis][:analyzer].each_value do |analyzer_settings| @@ -537,21 +535,6 @@ module Searchkick end end - def add_wordnet(settings) - settings[:analysis][:filter][:searchkick_wordnet] = { - type: "synonym", - format: "wordnet", - synonyms_path: Searchkick.wordnet_path - } - - settings[:analysis][:analyzer][default_analyzer][:filter].insert(4, "searchkick_wordnet") - settings[:analysis][:analyzer][default_analyzer][:filter] << "searchkick_wordnet" - - %w(word_start word_middle word_end).each do |type| - settings[:analysis][:analyzer]["searchkick_#{type}_index".to_sym][:filter].insert(2, "searchkick_wordnet") - end - end - def set_deep_paging(settings) if !settings.dig(:index, :max_result_window) && !settings[:"index.max_result_window"] settings[:index] ||= {} diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index 7127d9f..0038dcb 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -7,7 +7,7 @@ module Searchkick :filterable, :geo_shape, :highlight, :ignore_above, :index_name, :index_prefix, :inheritance, :language, :locations, :mappings, :match, :merge_mappings, :routing, :searchable, :search_synonyms, :settings, :similarity, :special_characters, :stem, :stemmer, :stem_conversions, :stem_exclusion, :stemmer_override, :suggest, :synonyms, :text_end, - :text_middle, :text_start, :word, :wordnet, :word_end, :word_middle, :word_start] + :text_middle, :text_start, :word, :word_end, :word_middle, :word_start] raise ArgumentError, "unknown keywords: #{unknown_keywords.join(", ")}" if unknown_keywords.any? raise "Only call searchkick once per model" if respond_to?(:searchkick_index) diff --git a/test/models/animal.rb b/test/models/animal.rb index 7158684..e91117e 100644 --- a/test/models/animal.rb +++ b/test/models/animal.rb @@ -4,6 +4,5 @@ class Animal text_start: [:name], suggest: [:name], index_name: -> { "#{name.tableize}-#{Date.today.year}#{Searchkick.index_suffix}" }, - callbacks: :async, - wordnet: ENV["WORDNET"] + callbacks: :async end diff --git a/test/synonyms_test.rb b/test/synonyms_test.rb index ce66356..dcb8af4 100644 --- a/test/synonyms_test.rb +++ b/test/synonyms_test.rb @@ -31,14 +31,6 @@ class SynonymsTest < Minitest::Test assert_search "clorox", ["Clorox Bleach", "Kroger Bleach"], fields: [{name: :word_start}] end - def test_wordnet - # requires WordNet - skip unless ENV["WORDNET"] - - store_names ["Creature", "Beast", "Dragon"], Animal - assert_search "animal", ["Creature", "Beast"], {}, Animal - end - def test_directional store_names ["Lightbulb", "Green Onions", "Led"] assert_search "led", ["Lightbulb", "Led"] diff --git a/test/test_helper.rb b/test/test_helper.rb index fe3a7c8..f7504fd 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -25,9 +25,6 @@ end Searchkick.search_timeout = 5 Searchkick.index_suffix = ENV["TEST_ENV_NUMBER"] # for parallel tests -# add to elasticsearch-7.0.0/config/ -Searchkick.wordnet_path = "wn_s.pl" if ENV["WORDNET"] - puts "Running against #{Searchkick.opensearch? ? "OpenSearch" : "Elasticsearch"} #{Searchkick.server_version}" Searchkick.redis = -- libgit2 0.21.0