我正在尝试通过轮胎宝石将弹性搜索用于多租户应用程序。该应用程序有许多帐户,每个帐户都有许多用户。
用户模型:
include Tire::Model::Search
mapping do
indexes :name, :boost => 10
indexes :account_id
indexes :company_name
end
def to_indexed_json
to_json( :only => [:name, :account_id, :company_name],
)
end
我想添加基于 account_id 的路由。请帮助如何实现这一点。我看到有两种方法可以指定路由。
- 在使用路由字段进行映射期间
- 使用别名
我对第一个选项感兴趣。我看到 _routing 可以作为哈希添加到映射部分。
mapping :_routing => { :required => true, :path => :account_id } do
indexes :name, :boost => 10
indexes :account_id
indexes :company_name
end
搜索查询:
User.tire.search do
query do
filtered do
query { string('ovamsikrishna@gmail.com') },
filter :term, :account_id => 2
end
end
end
我们需要在搜索查询中指定任何内容吗?当我指定上面指定的映射(使用路由)时,索引没有发生。没有路由它工作正常。