中谷宗嵩
nakatani_munet****@flyin*****
2012年 7月 6日 (金) 23:00:34 JST
斯波様 磯部様 株式会社フライングラインの中谷です。 ご確認ありがとうございました。 >(order by 句の)MATCH AGAINSTで指定したカラムにヒットするものだけが出力 >されます。 >※これはmroongaの仕様ではなく、MySQLのMATCH AGAINSTの仕様です。 なるほど。MySQLの仕様でしたか。不勉強なため、お手数をおかけしました。 >ところで。 > >下記のように、+演算子は指定できますが、-演算子が使えないようです。 >何でなんでしょうね・・・ >一応、下記も調べたのですが、そのような制約の存在は見当たりませんでした・・・ これは全く気付いていませんでした。確かに、よくわからないですね。 今回は、-演算子を使わないので問題はなさそうですが・・・。 >まず、今回の要望はスコアの高い順にしたいのだと思うので >order by desc にする必要がありますので、ちょっとSQLを加工しました。 すみません。おっしゃる通り、descが抜けていました。 >複合インデックスに対するSQLではインデックスが使われているのですが >orで繋いだものはインデックスが使われていないように見えます。 >全文検索部分でmroongaが使われているので大丈夫だとは思いますが >件数が多くなると色々あるかもしれませんね・・・ 確かに、orで繋いだ場合インデックスが使用されていないようです。 検索速度はずっと懸念しているポイントですので、 あまりにパフォーマンスが悪いようだと、単独カラムでのソートをあきらめて、 複合インデックスを使う方が良いかもしれないですね。 実際の使用環境でもう少しテストして、どちらの方法でいくか決めたいと思います。 ご丁寧に色々アドバイスしていただき、本当にありがとうございました。 ----------------------------------------- 株式会社 フライングライン 中谷 宗嵩 東京都中央区銀座8-11-11 TK銀座8丁目ビル URL: http://www.flyingline.co.jp/ Tel: 03-5537-0390 Fax: 03-5537-0391 Mail: nakatani_munet****@flyin*****