1

データベース内のいくつかのデータを検索する必要があります。しかし、主な問題は、私が一致して検索することです:

...MATCH(description) AGAINST ("*52*" in boolean mode)

しかし、1回の反復(またはそれ以上、ただし1回のクエリ)で、52だけでなく、50,51,52,...,59 以前と同じように検索する必要があります...しかし、それは本当ですか?また、私はRoRでそれを行います:

 @accums = Accumulator.find(:all, :conditions => ["MATCH(description) AGAINST (? in boolean mode)", size])

または、レール上でイテレータを実行し、それらすべてを反復ごとに検索する必要がありますか?

4

1 に答える 1

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

テストされていません。

于 2012-11-08T02:56:33.067 に答える