2010-07-22 164 views
1

我有型号产品的列:这个模型中定义搜索多列与狮身人面像

name, number, description 

指数看起来是这样的:

define_index do 
    indexes :name, :sortable => true 
    indexes :number 
    indexes :description 
    where "amount > 0" 
    has :price 
end 

由于描述可以是大量的随机话,我想有时候将其排除在搜索之外(当用户点击chceckbox'不要在说明中搜索时')。

我去狮身人面像的页面,发现如下:

@(name, number) *pencil* *123* 

而且好像我不理解为什么狮身人面像的作品。当我执行搜索

*pencil* *123* 

字“铅笔”在名称中和“123”的数量被发现,我得到1个结果。但是当我执行

@(name, number) *pencil* *123* 

找不到结果。

按列搜索不同?

回答

2

这是所有关于空间:/ 这工作:

@(name,number) *pencil* *123* 
2

使用:extended匹配模式时,您只能在字段进行搜索 - 思考狮身人面像,如果你使用:conditions自动设置这一点 - 但你构建了多场查询自己,所以这是为什么不会发生。试试这个:

Product.search "@(name, number) *pencil* *123*", :match_mode => :extended 

希望这会有所帮助。