我有带列的模型产品:
name, number, description
为此模型定义的索引如下所示:
define_index do
indexes :name, :sortable => true
indexes :number
indexes :description
where "amount > 0"
has :price
end
由于在描述中可能有很多随机单词,我想有时将其排除在搜索之外(当用户点击chceckbox'不在搜索中搜索'时)。
我去了sphinx页面,发现了以下内容:
@(name, number) *pencil* *123*
似乎我不明白狮身人面像是如何运作的。当我执行搜索时
*pencil* *123*
单词'pencil'在名称中找到,'123'在数字中找到,我得到1个结果。但是当我执行
时@(name, number) *pencil* *123*
未找到任何结果。
按列搜索有什么不同吗?
答案 0 :(得分:2)
您只能在使用:extended
匹配模式时搜索字段 - 如果您使用:conditions
,思维Sphinx会自动设置 - 但您自己构建了一个多字段查询,因此为什么这不是发生了。试试这个:
Product.search "@(name, number) *pencil* *123*", :match_mode => :extended
希望这有帮助。
答案 1 :(得分:2)
关于空间的全部内容:/ 这有效:
@(name,number) *pencil* *123*