Commit 88349791b115f77578135303a6306b58dfca8907
Exists in
master
and in
21 other branches
Merge pull request #531 from sharshenov/dynamic-synonyms
Allow to pass synonyms as Proc
Showing
2 changed files
with
7 additions
and
0 deletions
Show diff stats
README.md
... | ... | @@ -269,6 +269,8 @@ end |
269 | 269 | ```ruby |
270 | 270 | class Product < ActiveRecord::Base |
271 | 271 | searchkick synonyms: [["scallion", "green onion"], ["qtip", "cotton swab"]] |
272 | + # or | |
273 | + # searchkick synonyms: Proc.new { CSV.read("/some/path/synonyms.csv") } | |
272 | 274 | end |
273 | 275 | ``` |
274 | 276 | ... | ... |
lib/searchkick/index.rb
... | ... | @@ -349,6 +349,11 @@ module Searchkick |
349 | 349 | |
350 | 350 | # synonyms |
351 | 351 | synonyms = options[:synonyms] || [] |
352 | + | |
353 | + if synonyms.respond_to?(:call) | |
354 | + synonyms = synonyms.call | |
355 | + end | |
356 | + | |
352 | 357 | if synonyms.any? |
353 | 358 | settings[:analysis][:filter][:searchkick_synonym] = { |
354 | 359 | type: "synonym", | ... | ... |