我需要在我的数据库中搜索一些数据。但主要问题是我搜索匹配:
...MATCH(description) AGAINST ("*52*" in boolean mode)
但是在一次迭代(或更多,但只有一个查询)中,我必须不仅搜索52,而且搜索50,51,52,...,59
和以前一样...
但这是真的吗?
我也是用RoR做的:
@accums = Accumulator.find(:all, :conditions => ["MATCH(description) AGAINST (? in boolean mode)", size])
或者我需要在rails上做迭代器,并通过迭代搜索所有这些迭代?
答案 0 :(得分:0)
如果你说:
MATCH(description) AGAINST ("*52*" in boolean mode)
对于'description'所在的行:
34,520,1000,9000
或
34,452,1000,9000
或
34,4525,1000,9000
你会得到一个匹配。这是你想要的结果吗?
我猜不是。
我认为你想要的是:
MATCH(description) AGAINST ("52" in boolean mode)
要处理您想要的多个匹配项:
MATCH(description) AGAINST ("51 52 53" in boolean mode)
示例:
34,520,1000,9000
// no match
34,452,1000,9000
// no match
34,52,1000,9000
// match
34,53,1000,9000
// match
34,52,53,9000
// match
未测试。