我有这些查询,但现在我正在尝试使用sphinx,我需要替换它们,但我找不到办法来做到这一点:
p1 = Product.where "category LIKE ?", "#{WORD}"
p2 = Product.where "category LIKE ?", "#{WORD}.%"
product_list = p1 + p2
我在“类别”字段中搜索名为“Product”的模型;我需要一种方法来替换sphinx中的“#”和“%”。我有一个基本的想法,如何做到这一点,但这不起作用:
Product.search conditions: {category: "('WORD' | 'WORD.*')"}
答案 0 :(得分:0)
有几点需要注意。
min_prefix_len
设置为1或更大(更小,更准确,但搜索速度也会越慢,索引文件将越大)。此外,您需要将enable_star
设置为true。这两个设置都属于config/thinking_sphinx.yml
(例如in the docs)。但是,如果忽略完全停止,则类别字段中的每个单词都会单独编制索引,因此无需任何额外设置,这应该有效:
Product.search conditions: {category: WORD}