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

Back to archive index

keizi murakami murak****@gmail*****
2015年 12月 3日 (木) 18:38:17 JST


初めまして。
k_murakamiと申します。

初歩的な内容で大変申し訳ございませんが、
質問させていただきます。

Groongaのドキュメントに、一つのカラムに対して、
TokenMecabとTokenBigramが両方同時に使えると記述がありましたので、
Mroongaでもそれを利用したいと考えておりますが、うまく行かずに詰まっている状態です。

参考にしたドキュメント

http://groonga.org/ja/docs/troubleshooting/different_results_with_the_same_keyword.html#id4

■ 質問1
 mroonga_commandを利用した方法を試しておりますが、シンタックスエラーが発生しております。
 どのような記述にすれば、期待した動作になるのでしょうか。
 (名前にハイフン入りのテーブルをmatch_columnsで指定する方法に、問題がありそうなのですが・・・)

---テーブル定義------------

CREATE TABLE Blogs (
  id int(11) NOT NULL AUTO_INCREMENT,
  content varchar(255) NOT NULL,
  PRIMARY KEY (id),
  FULLTEXT INDEX (content) COMMENT 'parser "TokenBigram"',
  FULLTEXT INDEX (content) COMMENT 'parser "TokenMecab"'
) ENGINE=mroonga DEFAULT CHARSET=utf8;

Insert into Blogs (content) values("test");

---------------------------------

mysql> select mroonga_command("select Blogs --match_columns
'Blogs-content.index * 3 || Blogs-content_2.index * 10' --query 'test'
--output_columns '_score, content'");
ERROR 1026 (HY000): Syntax error: <Blogs-content.index| |* 3 ||
Blogs-content_2.index * 10>

■ 質問2
 mroonga_commandではなく、SQLを利用しTokenMecabとTokenBigramを同時に使用する方法はありますでしょうか。

 USE INDEXを用いて、SELECT文を2回実行した結果(スコア)を合算する方法や、
 同じ値を持ったTokenMecab用とTokenBigram用のカラムを別に用意する方法はあったのですが、
 あまりしっくり来る方法を見つけられておりません。

よろしくお願いいたします。
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



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