hensei-api/app/models/summon.rb
Justin Edmund 1646f3d555
Update item search with better fallbacks and nicknames (#122)
* Add migrations for nicknames

* Rename migrations to be after last migration

* Migrate database

* Update search in models

* Search against nickname columns
* Add dictionary search to EN search so its not only trigrams
2023-08-20 00:46:25 -07:00

44 lines
1.2 KiB
Ruby

# frozen_string_literal: true
class Summon < ApplicationRecord
include PgSearch::Model
multisearchable against: %i[name_en name_jp],
additional_attributes: lambda { |summon|
{
name_en: summon.name_en,
name_jp: summon.name_jp,
granblue_id: summon.granblue_id,
element: summon.element
}
}
pg_search_scope :en_search,
against: %i[name_en nicknames_en],
using: {
tsearch: {
prefix: true,
dictionary: 'simple'
},
trigram: {
threshold: 0.18
}
}
pg_search_scope :ja_search,
against: %i[name_jp nicknames_jp],
using: {
tsearch: {
prefix: true,
dictionary: 'simple'
}
}
def blueprint
SummonBlueprint
end
def display_resource(summon)
summon.name_en
end
end