X



【全文検索】groonga【senna後継】
0002nobodyさん2011/11/01(火) 15:37:41.26ID:zBzeEu6N
トリトンのように、テーブル作成時にcharsetを指定すればujisが使えると思っていたのですが
invalid utf8 string(1) on grn_str_charlen_utf8というエラーが出て、
結果も思ったようなものになりません。

mroongaでujisのテーブルを使うには何か特別な処理が必要なのでしょうか?
CentOS5のRPMを使っています。
0003nobodyさん2011/11/01(火) 19:34:52.39ID:z/VwsptC
期待あげ
0004nobodyさん2011/11/02(水) 01:35:18.61ID:???
Apache Solrでいいじゃん。
みんな使ってるし。


終了


0005nobodyさん2011/11/02(水) 01:47:09.66ID:???
ソーラーってmysqlに全文検索を追加できるの?
使い方は別物じゃね
0006nobodyさん2011/11/02(水) 13:08:42.09ID:???
名前に-を含んだデータベースを作る
→groongaのテーブルを作る
→テーブルを削除しようとする
→エラーで削除できない

俺だけ?
0007nobodyさん2011/11/02(水) 13:47:50.71ID:???
SQLだとどうやっても削除できないから手でファイルを直接いじったよ
0008nobodyさん2011/11/03(木) 12:18:36.89ID:???
solrって最小のvpsで動かなかった
tritonnとhyperestraierでうまくいった
0009nobodyさん2011/11/03(木) 14:54:42.82ID:???
マシンスペックが必要ってこと?
javaだっけ
0010nobodyさん2011/11/04(金) 12:43:07.20ID:toxVjfjM
ラッパーモードのmyisamでdrop indexしたらエラーになる?
innodbならOKだった
色々検索したらmyisamはあんまり推奨じゃない感じかな
そもそもmyisamとの相性が悪いからgroonga開発したらしいし
0011nobodyさん2011/11/04(金) 15:59:40.52ID:???
まだこれつかうには危険な感じが...
ソーラーはmysqlで追加できないと思った

0012nobodyさん2011/11/04(金) 17:53:37.93ID:???
ストレージモードでグルーンガファイルをバックアップ→いったん削除→リストア
ってやったらmysqlへのアクセスではエラーになった
groongaのdbをmysqlのテーブル定義に後から紐づけるのはどうしたらいいんだろ
0013nobodyさん2011/11/04(金) 18:00:38.99ID:???
>>11
たしかに若干バギーな感じはある
でもトリトンももうmysqlのバージョンが古いしなぁ
0014nobodyさん2011/11/08(火) 22:22:23.22ID:g2UShAi7
ログファイル置き場を指定できるようにして欲しい
/var/log/mysql/にまとめたいだろJK
0015nobodyさん2011/11/08(火) 22:38:27.01ID:???
まだ実用になるレベルではないな
とりあえずtritonnを置き換えられるようになってほしい
0016nobodyさん2011/11/08(火) 22:47:55.69ID:???
とりあえず使えはするんだよね
運用の際のメンテとかまで考え出すと
まだ煮詰まってないなーって思う
0017nobodyさん2011/11/09(水) 02:24:54.41ID:???
>>14
お、書き込み時間が2ならび
0018nobodyさん2011/11/09(水) 18:31:49.16ID:hLMmSgdX
php、perlはNAMAZUを使って。
レコメンドはvogooでも使えよ。
javaはLucenceでレコメンドはmahountでよくない?
0019nobodyさん2011/11/18(金) 02:37:51.17ID:alrmOFGr
SQL_CALC_FOUND_ROWSとlimitとorder byを同時に使うと
limitで制限した行数が全行数になるね
order byがないと全行数が正確に取れる。
groongaだけなのか、デフォルトの全文検索もそうなのかは検証してないけど
とりあえず普通のmyisamは、order byがあっても全行数が変わることはなかった
0020nobodyさん2011/11/18(金) 02:40:22.64ID:???
268 名前:nobodyさん[sage] 投稿日:2011/06/01(水) 17:59:58.68 ID:???
limit a,b 指定で b の抽出件数指定は効くんだけど、a がゼロから効かない。
100,10 や 1000, 10 と指定しても、0, 10 と同じ結果。
フルテキストインデックス再構築したけど同じ。
インストした頃はちゃんと表示されたはずなんだが…。

sennaスレのこれと同じ現象かな?
0021nobodyさん2011/11/23(水) 16:48:35.95ID:???
2ind機能はやくサポートしてほしい
0022nobodyさん2011/11/27(日) 19:24:02.17ID:???
ここにいる人たちは、全文検索を利用している人たちだと思うので質問させてください
(別スレにて誘導されました)

皆さんは日本語の全文検索をどのようにされていますでしょうか?
Tritonnをみると、MySQLのバージョンが結構古いみたいなのでどうなのかなと思うのですが、
どのように対策をされていますでしょうか?
>>15のように、まだ実用的ではないという事は、Tritonnの方がいいのでしょうか?


また、中には自分でN-gramによって対策をしている人などもいるようですが、日本語の全文検索に対する対策は、N-gramとかで自分で実装する、Tritonnなどを入れる以外にはないのでしょうか?

0023nobodyさん2011/11/28(月) 22:13:12.47ID:???
だからSolr使えって。
0024nobodyさん2011/12/01(木) 22:45:40.09ID:86xGKL6Y
groongaとトリトンのベンチマークはかった人いる?
なんとなく、体感だけどgroongaが遅い感じがする
0.5秒くらいかかってる
もう一度検索したら、0.000数秒でめっちゃ速い
それはキャッシュが効いているのか、
一回目の検索でインデックス的なものが整理されたのか分からないけど。
0025nobodyさん2011/12/01(木) 22:47:32.62ID:???
>>22
唯一の答えはないと思いますよ
俺はトリトンからgroongaへの移行を進めていますが
今のところ、どっちかの方があきらかにいい、と言える状況ではないと思います
0026nobodyさん2011/12/04(日) 13:06:30.66ID:???
もしかして日本語の全文検索に関してはpostgresqlのほうがいい?
0028nobodyさん2011/12/06(火) 20:01:30.76ID:???
バージョンアップしてたから
mysql動かしたままupdateしたら
groongaがストレージから消えた
updateする時はサービス止めてからやらないといけないのかって当たり前か
0029nobodyさん2011/12/29(木) 17:09:50.14ID:???
gronnga 1.2.9 has been released.
0030nobodyさん2011/12/29(木) 17:55:48.42ID:???
>gronnga 1.2.9 has been released.

>>19の件は直ったのかな?
0032nobodyさん2011/12/30(金) 11:02:55.70ID:???
そろそろTritonnから乗り換えられそうかな。
0033nobodyさん2012/01/01(日) 20:30:32.70ID:???
更新はえーッス
0034nobodyさん2012/01/02(月) 15:42:35.73ID:???
Fedora15サポート削除早いよって思ったけどソースからビルドしてるので
試したらFedora15でもgroonga 1.2.9動いた
0035nobodyさん2012/01/25(水) 23:54:10.87ID:???
groonga-1.2.9 を -d --protocol http でサーバにして動かしていますが、
検索にヒットした文書から、類似した文書を検索することは可能でしょうか?

ttp://groonga.org/ja/docs/expr.html によると
> 類似文書検索や近傍検索のような高度な検索もすべてgrn_exprによって記述できます。

と書いてありますので select の --scorer に何らかの grn_expr を記述すればできそうにも思うのですが、
文書に含まれる語彙同士の類似度計算をどのように記述すれば良いのでしょうか…orz
0036nobodyさん2012/01/26(木) 18:01:19.59ID:???
2文書間での、類似度の計算法としてはこんなのがあるけど
ttp://www.gifu-nct.ac.jp/elec/deguchi/sotsuron/hayashi/node20.html

これをじゃぁどうやって grn_exprで書くんだろうねぇ

grn_expr のもうちょっと詳細な書き方はこんな文書があるけど
ttp://groonga.org/docs/contribution/development/query.html#id4

後の方に載っている「クエリの実例」ってのは多分これC APIとしての書き方じゃないか

類似文書を検索するには、2文書について処理をしなければならないわけだけど、
「ある文書」にアクセスするためには、その文書のカラム名を記載すればいいけど、
「他の文書」にアクセスする方法が分からないから記載できないな
0037352012/01/26(木) 19:07:45.58ID:???
>>36
ありがとうございます。重要度を要素に持つベクトルのなす角(cosθ)ですか。
そのページわかりやすいですね。

C API 形式の grn_expr は ECMA Script 形式でも使えるんでしょうかね…
いま一つこのあたりのドキュメントがわかりにくくて困っています。
でドキュメントのあちこちに出てくる「(ぐるんしき)」にいちいちイラッとしてみたりw

1. 文書から単語リストを抽出する関数
2. 全文書から指定された単語の重要度を求める関数
3. 2つの配列の積集合を求める関数
4. ベクトルの長さと内積を求める関数

を何とかして書けばできそうですね。

3, 4, はECMA Scriptで書ける(どこで書けばいいのかはわかってませんが)としても
1. 2. って、やっぱり C で書かなあかんのですかね…(´・ω・`)
0038nobodyさん2012/01/26(木) 19:41:42.09ID:???
>>37
1. は、全文検索用語彙表に対して、類似している文書を検索したい文書のIDで検索することで求められるかな、と思ったけど
よく分からない。
2 の重要度だけど、これは
ttp://groonga.org/ja/docs/tutorial/lexicon.html
に書いてあるように、語彙表に格納しておくことができそうだけど、事前に計算して入れておかなきゃダメだな。groongaがやってくれるわけじゃないみたい。

だから、grn_exprを生成するRubyとかPerlとかPHPとかCとかのプログラム・スクリプトで一部処理を行うことで実現できそうだけど、
「クエリ『ほげほげ』にヒットする文書に類似する文書」っていうgrn_exprは難しいんじゃないかな。できるのかもしれないけど
0039nobodyさん2012/01/30(月) 00:37:31.14ID:???
29日だがリリースはなしか・・・
流石に日曜日だとお休みかな
0040nobodyさん2012/01/30(月) 07:39:27.44ID:???
groonga 1.3.0 and mroonga 1.20 has been released.
0041nobodyさん2012/02/03(金) 22:01:22.57ID:???
バージョンアップきた
いまだにテーブル構造変わることがあるのかょ
0042nobodyさん2012/02/03(金) 22:30:41.39ID:???
バージョンアップする→古いテーブル残ってる→削除もできない
orz
0043nobodyさん2012/02/04(土) 00:06:50.53ID:???
なにそれ怖い
0044nobodyさん2012/02/04(土) 00:31:51.90ID:???
泣きながら古いバージョン入れ直したお
0045nobodyさん2012/02/04(土) 00:55:09.24ID:???
mysqld停止した状態で、MySQLデータフォルダ内の、
「データベース名.mrn」で始まる名前のファイルをすべて削除、
そしてデータベース名のフォルダの中の、「groongaエンジンのテーブル名.frm」というファイルをすべて削除、
という操作をすることで消せる

ただし誤って変なファイルを消すととんでもないことになるので削除ではなく別のフォルダに移動しておくというのが
望ましい
0046nobodyさん2012/02/04(土) 14:29:03.95ID:???
場所移さずに、
 元のファイル名.mouiranaikamo
とかにリネームじゃ駄目?
0047nobodyさん2012/02/04(土) 14:33:26.03ID:???
え? 毛利蘭かも?
0048nobodyさん2012/02/25(土) 17:23:59.16ID:???
なんかあと数回テーブル構造変わるみたい
ttp://twitter.com/ktou/status/172078385764372481
0049nobodyさん2012/02/25(土) 19:50:43.28ID:???
終わったら呼んでくれ
0050nobodyさん2012/02/29(水) 02:28:30.94ID:???
groonga 2.0.0 and mroonga 2.00 has been released.

mroongaはまた互換性が無いので注意。
0051nobodyさん2012/03/01(木) 08:39:09.80ID:???
更新はえーな
いいことだけど
0052nobodyさん2012/03/01(木) 08:40:38.55ID:???
メジャーバージョンアップにすぐ手を出して大丈夫だろうか?
様子みた方がいいかな
0053nobodyさん2012/03/02(金) 14:52:45.09ID:???
groonga -d でデーモンにしてる方におたずねしたいのですが、
停止するときってどうしてますか?
データが壊れやすいと聞いたので kill するのに抵抗があります。

参考: ttp://dupont-kedama.blogspot.com/2011/12/groonga2.html
> Q.インデックスやストレージのデータの壊れやすさや壊れるタイミングは?
> A.カーネルごと落ちると壊れやすい
> プロセルが落ちても壊れるかも
> 運が悪いとロックが残る

…で今のところこんな感じで書いてるんですが、

(gqtpの場合) # echo 'shutdown' | groonga -c
(httpの場合) # wget http://localhost:10041/d/shutdown -o /dev/null -O /dev/null
0054532012/03/02(金) 14:54:12.62ID:???
(途中で送信してしまいました)
…なんだか自分でもバカっぽい気がします…orz
0056nobodyさん2012/03/08(木) 17:41:37.00ID:???
あれ、PostgreSQLだとUTF-8で4バイト対応してるから使えるのかな?
0057nobodyさん2012/03/16(金) 21:04:27.52ID:???
rroongaまだー\(^o^)/
0058nobodyさん2012/03/16(金) 22:46:12.32ID:???
Rubyはオワコン。
0059nobodyさん2012/03/20(火) 02:42:32.03ID:???
centos6用って標準インストールのmysql5.1用にビルドされてるんだね
centos5用はmysql5.5との同時提供だから、groonga使うならcentos5の方がいい?
0060nobodyさん2012/03/30(金) 11:51:11.30ID:???
groonga 2.0.1 and mroonga 2.01 has been released.

メジャーバージョンアップが公開されてすぐアップするのは危険かなと思ってmroonga 2.00へはアップするのはやめといたが
そろそろうpしてもいいだろうか・・・
2.00より前からのアップグレードはDB作り直し必須だけど
0061nobodyさん2012/05/02(水) 08:02:32.38ID:???
groonga 2.0.2 and mroonga 2.02 has been released.
0062nobodyさん2012/05/06(日) 02:16:01.57ID:/I3rbXav?2BP(1000)
mysql5.5が含まれてないから5.5.23-1.el6.remi入れたら
mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib64/mysql/plugin/ha_mroonga.so' (errno: 2 /usr/lib64/mysql/plugin/ha_mroonga.so: undefined symbol: 以下略
ってなってはいらない・・・
0063nobodyさん2012/05/06(日) 12:01:37.81ID:???
バグでデバック用関数が5.5に無いけど、defineが有効にしてるらしい
対処法は・・・ググれw
あと、メモリ解放のなんたらの引数が減ってるので削ると

mroongaのソースを調整して再コンパイルすれば動く可能性高い
0064nobodyさん2012/05/10(木) 05:51:27.56ID:???
バグあるのかよ
しかもかなり根本的な部分で
バージョンップアが早いのはいいけどバグあったら即修正版アップしてくれよ
0065nobodyさん2012/05/11(金) 01:15:53.77ID:???
groongaに期待するな。

所詮、ユーザー数が少なくて開発者も少ない、
いつ終わってもおかしくないプロジェクトだ
0066nobodyさん2012/05/11(金) 01:22:43.59ID:???
あ、すまん、63だけど
バグがあるのはmysql5.5のincludeファイルだよ
groongaのバグの有無は使ってないから知らんw

良い感じに煮込まれてきたら使おうかとスレを見てるだけなので。はい。
0067nobodyさん2012/05/11(金) 09:42:08.86ID:???
ソースから入れればいいだけだろ
0068nobodyさん2012/05/11(金) 22:10:52.26ID:???
ソースっねw
0069nobodyさん2012/05/13(日) 15:43:30.14ID:???
mroongaストレージモードで使用した際
DISTINCTとLIMIT併用したときLIMITで指定した分とってから重複カットしてるから
返ってくるレコード数がLIMITと一致しない
バグだよね?
0070nobodyさん2012/05/13(日) 16:29:53.03ID:???
LIMITに関するバグは以前あったような
最新Verでも同様ならバグですね
0071nobodyさん2012/05/20(日) 12:42:24.83ID:???
色々やってみてサーバかデーモンで使うのが一番楽だと気づいた
0072nobodyさん2012/05/23(水) 17:43:29.64ID:???
>>55
亀レスだけどgroongaのほうは4バイト文字列対応してるぞ
MySQLが微妙
0073nobodyさん2012/05/24(木) 20:01:11.73ID:???
MySQL5.5以上で対応してるだけの話。
レスを投稿する


ニューススポーツなんでも実況