From 7acb7c190f5f6b3aa1501464d4ff3c713aa4b1a0 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 20 Aug 2023 00:42:21 -0700 Subject: [PATCH] Update search in models * Search against nickname columns * Add dictionary search to EN search so its not only trigrams --- app/models/character.rb | 8 ++++++-- app/models/summon.rb | 8 ++++++-- app/models/weapon.rb | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/models/character.rb b/app/models/character.rb index b89d3a1..c2000a8 100644 --- a/app/models/character.rb +++ b/app/models/character.rb @@ -14,15 +14,19 @@ class Character < ApplicationRecord } pg_search_scope :en_search, - against: :name_en, + against: %i[name_en nicknames_en], using: { + tsearch: { + prefix: true, + dictionary: 'simple' + }, trigram: { threshold: 0.18 } } pg_search_scope :ja_search, - against: :name_jp, + against: %i[name_jp nicknames_jp], using: { tsearch: { prefix: true, diff --git a/app/models/summon.rb b/app/models/summon.rb index 59ce773..5989216 100644 --- a/app/models/summon.rb +++ b/app/models/summon.rb @@ -14,15 +14,19 @@ class Summon < ApplicationRecord } pg_search_scope :en_search, - against: :name_en, + against: %i[name_en nicknames_en], using: { + tsearch: { + prefix: true, + dictionary: 'simple' + }, trigram: { threshold: 0.18 } } pg_search_scope :ja_search, - against: :name_jp, + against: %i[name_jp nicknames_jp], using: { tsearch: { prefix: true, diff --git a/app/models/weapon.rb b/app/models/weapon.rb index fde26d2..ac0c6b7 100644 --- a/app/models/weapon.rb +++ b/app/models/weapon.rb @@ -14,15 +14,19 @@ class Weapon < ApplicationRecord } pg_search_scope :en_search, - against: :name_en, + against: %i[name_en nicknames_en], using: { + tsearch: { + prefix: true, + dictionary: 'simple' + }, trigram: { threshold: 0.18 } } pg_search_scope :ja_search, - against: :name_jp, + against: %i[name_jp nicknames_jp], using: { tsearch: { prefix: true,