У меня есть сообщение модель:Rails - ElasticSearch - несколько индексов в одной модели
class Post < ActiveRecord::Base
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
# I WANT THIS FUNCTION EXECUTED ON index1
def self.search1(query)
__elasticsearch__.search(
{
query:
}
)
end
# I WANT THIS FUNCTION EXECUTED ON index2
def self.search2(query)
__elasticsearch__.search(
{
query:
}
)
end
index_name "index1"
# I NEED ANOTHER INDEX ? HOW CAN I DO ?
settings index1: { number_of_shards: 1 } do
mappings dynamic: 'false' do
indexes :title, analyzer: 'english'
end
end
end
Post.__elasticsearch__.client.indices.delete index: "index1" rescue nil
Post.__elasticsearch__.client.indices.create index: "index1", body: { settings: Post.settings.to_hash, mappings: Post.mappings.to_hash }
Post.import
У меня есть одна модель, 2 очень разные функции, которые нуждаются в совершенно иной индекс.
Как я могу построить 2 разных индекса в 1 модели и сообщить __elasticsearch__.search
, какой индекс он должен использовать?