[groonga-dev,00985] Re: mroonga検索スコア順のソートについて

Back to archive index

中谷宗嵩 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*****




groonga-dev メーリングリストの案内
Back to archive index