Kouhei Sutou
kou****@clear*****
2012年 10月 22日 (月) 18:28:36 JST
須藤です。 In <CAAR=x6-iKk-s0bZMiVGwmdZmmxj5_0HD+a****@mail*****> "[groonga-dev,01059] 【mroonga】類似文書比較にて、トークンが多く含まれるでは無く、似ている文章のスコアを高くする" on Mon, 22 Oct 2012 17:56:14 +0900, 今井真宏 <masaz****@gmail*****> wrote: > mroonga2.07をラッパーモードで使用し、類似文書検索 > 機能で、テキストの近似値を取得したいと考えています。 > > そこで、質問なのですが、 > 「多く含まれる」ではなく「似ている」文書のスコアを高くできないものでしょうか? > > 具体的には、DBのmroongaテーブルのカラムに > 「あああ」 > 「ああああああ」 > と入っているとします。現在は「あああ」で検索すると、スコアは > 「ああああああ」のほうが高く取得します。 > 完全一致している「あああ」のスコアを最高スコアになるように出来ないでしょうか? 速度への影響がどのくらいになるかは試していないのですが、以下 のようなSQLでとりあえず動きました。 SELECT *, MATCH (column_name) AGAINST ("あああ") FROM table_name WHERE MATCH (column_name) AGAINST ("あああ") ORDER BY column_name = "あああ" DESC, MATCH (column_name) AGAINST ("あああ") DESC LIMIT 10; ヒットするレコード数が多くなるとつらくなるかもしれません が。。。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/