映射:
include Tire::Model::Search
mapping do
indexes :name, :boost => 10
indexes :account_id
indexes :company_name
indexes :email, :index => :not_analyzed
end
def to_indexed_json
to_json( :only => [:name, :account_id, :email, :company_name],
)
end
从上面的映射可以看出,email 字段设置为 not_analyzed(没有损坏的令牌)。我有一个电子邮件用户 vamsikrishna@gmail.com。
现在,当我搜索 vamsikrishna 时,结果显示用户......我猜它正在使用默认分析器。为什么?
但是,我猜只有在指定完整的电子邮件时才会显示它(vamsikrishna@gmail.com)。为什么在这种情况下不考虑 :not_analyzed ?请帮忙。
我只需要将电子邮件字段设置为 not_analyzed,其他字段应使用标准分析器(默认情况下已完成)。