マッピング:
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
上記のマッピングから、電子メールフィールドがnot_analyzed(壊れたトークンなし)に設定されていることがわかります。メールvamsikrishna@gmail.comのユーザーがいます。
vamsikrishnaを検索すると、結果にユーザーが表示されます...デフォルトのアナライザーを使用していると思います。なぜ?
ただし、完全な電子メールが指定されている場合にのみ表示されるはずです(vamsikrishna@gmail.com)。この場合、:not_analyzedが考慮されないのはなぜですか?助けてください。
電子メールフィールドのみをnot_analyzedとして設定する必要があります。他のフィールドは、標準のアナライザーを使用する必要があります(デフォルトで実行されます)。