[groonga-dev,01060] Re: 【mroonga】類似文書比較にて、トークンが多く含まれるでは無く、似ている文章のスコアを高くする

Back to archive index

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/




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