我正在運行思維獅身人面像2.0.10在我的Rails 3.1 environemt和索引和搜索工作相當不錯。 當我搜索我的用戶模型時,我想對用戶名 進行通配符搜索,但不在電子郵件中,因此只有在給定的搜索字符串與用戶的電子郵件完全匹配時才能返回用戶。 我做了一些研究,發現這可能通過啓用define_index塊內的通配符搜索與思維獅身人面像 - 通配符僅在特定索引上搜索
set_property :enable_star => true
set_property :min_infix_len => 1
,並添加:infixes => true
到應該支持通配符搜索
define_index do
indexes "CONCAT(first_name, ' ', last_name)", :as => :user_name, :infixes => true
indexes email
has :id, :as => :user_id
set_property :enable_star => true
set_property :min_infix_len => 1
end
這是指標完成從自動生成的development.sphinx.conf
index user_core
{
source = user_core_0
path = /../../../../db/sphinx/development/user_core
charset_type = utf-8
min_infix_len = 1
infix_fields = user_name
enable_star = 1
}
的infix_fields
聲明CORRE我猜。
問題是,如果我搜索「.com」,我仍然得到所有用戶與.com電子郵件地址。 這可能是什麼原因?
感謝您的幫助!
非常感謝! 我能夠定義一個包含@和的默認字符集。在config/sphinx.yml中,一切正在工作:) – alex