スフィンクスの検索クエリの結果がActiveレコードと異なる

私は自分のアプリケーションでスフィンクスを使用しています。その設定は

思考のスフィンクス - 1.3.17

アクティブレコード - 2.3.5

コミット後 - 1.0.10

リドル - 1.0.10

思考のスフィンクスラスペル - 1.1.1

ラスペル-1.3

私はテーブルのフィールド名のインデックスを追加しました。そして私は結果として20レコードを与えるテキスト "ソニー"で検索します。

スフィンクスの結果: スフィンクスクエリ: 'sony'

スフィンクス(0.004703s)が見つかりました43件

会社の負荷(1.2ms)SELECT *から "企業" WHERE( "企業" id "IN(1,2,3,4,5,6,7,8,9,10,11,12,13,14、 15,16,43,64,83,91))

In here スフィンクス(0.004703s)が見つかりました43件 but in the sql it has only 20 ids in it . because of this it gives 20 records as result.

"LIKE"(ここでlower(name)LIKE '%sony%')を使用してアクティブなレコードを使用して同じテーブルを検索すると、43レコードが結果として生成されます。

なぜスフィンクスはより少ない結果を生むのですか?

返信してください..

0

1 答え

スフィンクスは最大1,000件の結果を返し、ページごとに20個の項目でデフォルトでページを設定します。あなたは彼の上に来ることができます:

Article.search 'pancakes', :per_page => 100
1
追加された