[groonga-dev,03716] Re: Mroongaで形態素解析とN-gramを同一のカラムに対して利用する方法について

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 12月 4日 (金) 23:42:38 JST


須藤です。

In <20151****@clear*****>
  "[groonga-dev,03715] Re: Mroongaで形態素解析とN-gramを同一のカラムに対して利用する方法について" on Fri, 04 Dec 2015 11:23:51 +0900 (JST),
  Kouhei Sutou <kou****@clear*****> wrote:

> が、それだとアレなので、ハイフンではなくシャープを区切りにし
> ようと思います。

そうしました。
テストしてもらえると助かるのですが、協力してもらえないでしょ
うか?(k_murakamiさん以外にもMroongaで使っているDBを持って
いる人にはテストしてもらえると助かります。。。)

あと30分くらいすると(00:00を過ぎると)↓というファイルがで
きるのでそれを使うとシャープ区切りになるバージョンになります。
  http://packages.groonga.org/nightly/mroonga-5.10.2015.12.05.tar.gz

それだと後述するSQLで動くようになります。

テストして欲しいことは、後述するSQLで動くこともそうなのです
が、これまでのMroongaで作ったDBでも同じように動くこと、言い
かえると互換性が壊れていないことをテストして欲しいのです。
互換性が壊れていないように作っているつもりですが、それを確認
して欲しいです。

↑にあるのはソースですが、環境を教えてもらえればパッケージを
作って提供します。


後述するSQL:
----
CREATE TABLE data (
  content text,
  FULLTEXT INDEX bigram (content),
  FULLTEXT INDEX mecab (content) COMMENT 'parser "TokenMecab"'
) ENGINE=Mroonga
  DEFAULT CHARSET=utf8mb4;

INSERT INTO data VALUES ('私の名前は中野です。');

SET mroonga_boolean_mode_syntax_flags = "SYNTAX_SCRIPT";

SELECT content,
       MATCH (content)
       AGAINST ('query("data#bigram.index * 3 || data#mecab.index * 10", "中野 OR 名")'
                IN BOOLEAN MODE)
  FROM data
  WHERE MATCH (content)
        AGAINST ('query("data#bigram.index * 3 || data#mecab.index * 10", "中野 OR 名")'
                 IN BOOLEAN MODE);
-- 私の名前は中野です。	16
----


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/




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