TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【Java】Play framework【Scala】
サーバーサイドJavaScript総合
【PHP】フレームワークPharonスレ
☆三 【 スクリプト改造工房 PART 9 】 ★三
■CGIは死滅。これからは.NETできまり■
携帯電話以外からのアクセス禁止にしたい
Zopeってどうよ インスタンス4つめ
コンテンツとデザインの分離
XOOPS 8
Java VS PHP
【全文検索】groonga【senna後継】
- 1 :2011/11/01 〜 最終レス :2020/02/11
- ないようなので立ててみました
* groonga
http://groonga.org/ja/
* mysqlに組み込むgroongaストレージ(mroonga)
http://mroonga.github.com/
関連スレ
組み込み型全文検索エンジンSenna
http://hibari.2ch.sc/test/read.cgi/php/1118762053/
- 2 :
- トリトンのように、テーブル作成時にcharsetを指定すればujisが使えると思っていたのですが
invalid utf8 string(1) on grn_str_charlen_utf8というエラーが出て、
結果も思ったようなものになりません。
mroongaでujisのテーブルを使うには何か特別な処理が必要なのでしょうか?
CentOS5のRPMを使っています。
- 3 :
- 期待あげ
- 4 :
- Apache Solrでいいじゃん。
みんな使ってるし。
終了
- 5 :
- ソーラーってmysqlに全文検索を追加できるの?
使い方は別物じゃね
- 6 :
- 名前に-を含んだデータベースを作る
→groongaのテーブルを作る
→テーブルを削除しようとする
→エラーで削除できない
俺だけ?
- 7 :
- SQLだとどうやっても削除できないから手でファイルを直接いじったよ
- 8 :
- solrって最小のvpsで動かなかった
tritonnとhyperestraierでうまくいった
- 9 :
- マシンスペックが必要ってこと?
javaだっけ
- 10 :
- ラッパーモードのmyisamでdrop indexしたらエラーになる?
innodbならOKだった
色々検索したらmyisamはあんまり推奨じゃない感じかな
そもそもmyisamとの相性が悪いからgroonga開発したらしいし
- 11 :
- まだこれつかうには危険な感じが...
ソーラーはmysqlで追加できないと思った
- 12 :
- ストレージモードでグルーンガファイルをバックアップ→いったん削除→リストア
ってやったらmysqlへのアクセスではエラーになった
groongaのdbをmysqlのテーブル定義に後から紐づけるのはどうしたらいいんだろ
- 13 :
- >>11
たしかに若干バギーな感じはある
でもトリトンももうmysqlのバージョンが古いしなぁ
- 14 :
- ログファイル置き場を指定できるようにして欲しい
/var/log/mysql/にまとめたいだろJK
- 15 :
- まだ実用になるレベルではないな
とりあえずtritonnを置き換えられるようになってほしい
- 16 :
- とりあえず使えはするんだよね
運用の際のメンテとかまで考え出すと
まだ煮詰まってないなーって思う
- 17 :
- >>14
お、書き込み時間が2ならび
- 18 :
- php、perlはNAMAZUを使って。
レコメンドはvogooでも使えよ。
javaはLucenceでレコメンドはmahountでよくない?
- 19 :
- SQL_CALC_FOUND_ROWSとlimitとorder byを同時に使うと
limitで制限した行数が全行数になるね
order byがないと全行数が正確に取れる。
groongaだけなのか、デフォルトの全文検索もそうなのかは検証してないけど
とりあえず普通のmyisamは、order byがあっても全行数が変わることはなかった
- 20 :
- 268 名前:nobodyさん[sage] 投稿日:2011/06/01(水) 17:59:58.68 ID:???
limit a,b 指定で b の抽出件数指定は効くんだけど、a がゼロから効かない。
100,10 や 1000, 10 と指定しても、0, 10 と同じ結果。
フルテキストインデックス再構築したけど同じ。
インストした頃はちゃんと表示されたはずなんだが…。
sennaスレのこれと同じ現象かな?
- 21 :
- 2ind機能はやくサポートしてほしい
- 22 :
- ここにいる人たちは、全文検索を利用している人たちだと思うので質問させてください
(別スレにて誘導されました)
皆さんは日本語の全文検索をどのようにされていますでしょうか?
Tritonnをみると、MySQLのバージョンが結構古いみたいなのでどうなのかなと思うのですが、
どのように対策をされていますでしょうか?
>>15のように、まだ実用的ではないという事は、Tritonnの方がいいのでしょうか?
また、中には自分でN-gramによって対策をしている人などもいるようですが、日本語の全文検索に対する対策は、N-gramとかで自分で実装する、Tritonnなどを入れる以外にはないのでしょうか?
- 23 :
- だからSolr使えって。
- 24 :
- groongaとトリトンのベンチマークはかった人いる?
なんとなく、体感だけどgroongaが遅い感じがする
0.5秒くらいかかってる
もう一度検索したら、0.000数秒でめっちゃ速い
それはキャッシュが効いているのか、
一回目の検索でインデックス的なものが整理されたのか分からないけど。
- 25 :
- >>22
唯一の答えはないと思いますよ
俺はトリトンからgroongaへの移行を進めていますが
今のところ、どっちかの方があきらかにいい、と言える状況ではないと思います
- 26 :
- もしかして日本語の全文検索に関してはpostgresqlのほうがいい?
- 27 :
- groongaを語る夕べ #2 November 29, 2011 12:18 PM
http://www.ustream.tv/recorded/18817014
めも
- 28 :
- バージョンアップしてたから
mysql動かしたままupdateしたら
groongaがストレージから消えた
updateする時はサービス止めてからやらないといけないのかって当たり前か
- 29 :
- gronnga 1.2.9 has been released.
- 30 :
- >gronnga 1.2.9 has been released.
>>19の件は直ったのかな?
- 31 :
- >>30
mroonga 1.10で修正済み。
http://mroonga.github.com/ja/docs/news.html#release-1-10
> FOUND_ROWS()とSQL_CALC_FOUND_ROWSに対応。
ちなみにmroongaは現在1.11が最新。
- 32 :
- そろそろTritonnから乗り換えられそうかな。
- 33 :
- 更新はえーッス
- 34 :
- Fedora15サポート削除早いよって思ったけどソースからビルドしてるので
試したらFedora15でもgroonga 1.2.9動いた
- 35 :
- groonga-1.2.9 を -d --protocol http でサーバにして動かしていますが、
検索にヒットした文書から、類似した文書を検索することは可能でしょうか?
ttp://groonga.org/ja/docs/expr.html によると
> 類似文書検索や近傍検索のような高度な検索もすべてgrn_exprによって記述できます。
と書いてありますので select の --scorer に何らかの grn_expr を記述すればできそうにも思うのですが、
文書に含まれる語彙同士の類似度計算をどのように記述すれば良いのでしょうか…orz
- 36 :
- 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文書について処理をしなければならないわけだけど、
「ある文書」にアクセスするためには、その文書のカラム名を記載すればいいけど、
「他の文書」にアクセスする方法が分からないから記載できないな
- 37 :
- >>36
ありがとうございます。重要度を要素に持つベクトルのなす角(cosθ)ですか。
そのページわかりやすいですね。
C API 形式の grn_expr は ECMA Script 形式でも使えるんでしょうかね…
いま一つこのあたりのドキュメントがわかりにくくて困っています。
でドキュメントのあちこちに出てくる「(ぐるんしき)」にいちいちイラッとしてみたりw
1. 文書から単語リストを抽出する関数
2. 全文書から指定された単語の重要度を求める関数
3. 2つの配列の積集合を求める関数
4. ベクトルの長さと内積を求める関数
を何とかして書けばできそうですね。
3, 4, はECMA Scriptで書ける(どこで書けばいいのかはわかってませんが)としても
1. 2. って、やっぱり C で書かなあかんのですかね…(´・ω・`)
- 38 :
- >>37
1. は、全文検索用語彙表に対して、類似している文書を検索したい文書のIDで検索することで求められるかな、と思ったけど
よく分からない。
2 の重要度だけど、これは
ttp://groonga.org/ja/docs/tutorial/lexicon.html
に書いてあるように、語彙表に格納しておくことができそうだけど、事前に計算して入れておかなきゃダメだな。groongaがやってくれるわけじゃないみたい。
だから、grn_exprを生成するRubyとかPerlとかPHPとかCとかのプログラム・スクリプトで一部処理を行うことで実現できそうだけど、
「クエリ『ほげほげ』にヒットする文書に類似する文書」っていうgrn_exprは難しいんじゃないかな。できるのかもしれないけど
- 39 :
- 29日だがリリースはなしか・・・
流石に日曜日だとお休みかな
- 40 :
- groonga 1.3.0 and mroonga 1.20 has been released.
- 41 :
- バージョンアップきた
いまだにテーブル構造変わることがあるのかょ
- 42 :
- バージョンアップする→古いテーブル残ってる→削除もできない
orz
- 43 :
- なにそれ怖い
- 44 :
- 泣きながら古いバージョン入れ直したお
- 45 :
- mysqld停止した状態で、MySQLデータフォルダ内の、
「データベース名.mrn」で始まる名前のファイルをすべて削除、
そしてデータベース名のフォルダの中の、「groongaエンジンのテーブル名.frm」というファイルをすべて削除、
という操作をすることで消せる
ただし誤って変なファイルを消すととんでもないことになるので削除ではなく別のフォルダに移動しておくというのが
望ましい
- 46 :
- 場所移さずに、
元のファイル名.mouiranaikamo
とかにリネームじゃ駄目?
- 47 :
- え? 毛利蘭かも?
- 48 :
- なんかあと数回テーブル構造変わるみたい
ttp://twitter.com/ktou/status/172078385764372481
- 49 :
- 終わったら呼んでくれ
- 50 :
- groonga 2.0.0 and mroonga 2.00 has been released.
mroongaはまた互換性が無いので注意。
- 51 :
- 更新はえーな
いいことだけど
- 52 :
- メジャーバージョンアップにすぐ手を出して大丈夫だろうか?
様子みた方がいいかな
- 53 :
- 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
- 54 :
- (途中で送信してしまいました)
…なんだか自分でもバカっぽい気がします…orz
- 55 :
- utf8mb4に対応しないのかなぁ…
http://groonga.org/ja/docs/executables/groonga.html#cmdoption-e
# 指定できるエンコーディング: none, euc, utf8, sjis, latin, koi8r
- 56 :
- あれ、PostgreSQLだとUTF-8で4バイト対応してるから使えるのかな?
- 57 :
- rroongaまだー\(^o^)/
- 58 :
- Rubyはオワコン。
- 59 :
- centos6用って標準インストールのmysql5.1用にビルドされてるんだね
centos5用はmysql5.5との同時提供だから、groonga使うならcentos5の方がいい?
- 60 :
- groonga 2.0.1 and mroonga 2.01 has been released.
メジャーバージョンアップが公開されてすぐアップするのは危険かなと思ってmroonga 2.00へはアップするのはやめといたが
そろそろうpしてもいいだろうか・・・
2.00より前からのアップグレードはDB作り直し必須だけど
- 61 :
- groonga 2.0.2 and mroonga 2.02 has been released.
- 62 :
- 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: 以下略
ってなってはいらない・・・
- 63 :
- バグでデバック用関数が5.5に無いけど、defineが有効にしてるらしい
対処法は・・・ググれw
あと、メモリ解放のなんたらの引数が減ってるので削ると
mroongaのソースを調整して再コンパイルすれば動く可能性高い
- 64 :
- バグあるのかよ
しかもかなり根本的な部分で
バージョンップアが早いのはいいけどバグあったら即修正版アップしてくれよ
- 65 :
- groongaに期待するな。
所詮、ユーザー数が少なくて開発者も少ない、
いつ終わってもおかしくないプロジェクトだ
- 66 :
- あ、すまん、63だけど
バグがあるのはmysql5.5のincludeファイルだよ
groongaのバグの有無は使ってないから知らんw
良い感じに煮込まれてきたら使おうかとスレを見てるだけなので。はい。
- 67 :
- ソースから入れればいいだけだろ
- 68 :
- ソースっねw
- 69 :
- mroongaストレージモードで使用した際
DISTINCTとLIMIT併用したときLIMITで指定した分とってから重複カットしてるから
返ってくるレコード数がLIMITと一致しない
バグだよね?
- 70 :
- LIMITに関するバグは以前あったような
最新Verでも同様ならバグですね
- 71 :
- 色々やってみてサーバかデーモンで使うのが一番楽だと気づいた
- 72 :
- >>55
亀レスだけどgroongaのほうは4バイト文字列対応してるぞ
MySQLが微妙
- 73 :
- MySQL5.5以上で対応してるだけの話。
- 74 :
- >>72-73
対応してるんだ。ありがと。
- 75 :
- queryのエスケープ処理のカオスっぷりハンパねーな
- 76 :
- mroongaテーブルで全文検索はうまくいくんだけど、
プライマリキーでの検索がちゃんとヒットしない
バージョンは1.3.0
俺だけ?
こんな単純なところで引っかかるとは・・
- 77 :
- プライマリキーも全文検索の対象にしてるの?
プライマリキーでの全文検索ってのはできるのかな・・・
オートインクリメントのカラムを別途用意してそっちをプライマリキーにしたほうが安全だと思うが・・・
- 78 :
- プライマリキーは全文検索の対象にしてないよ
varchar型の数文字の文字列
where id='hoge'
みたいにやっても何故かヒットしない。
最近バージョンにしようと思ったけど、何回やっても
Can't open shared library 'ha_mroonga.so' (errno: 0 API version for STORAGE ENGINE plugin is too different)
って言われる
インストールされてるパッケージは
groonga-tokenizer-mecab-2.0.3-0
groonga-release-1.1.0-0
groonga-plugin-suggest-2.0.3-0
groonga-2.0.3-0
groonga-libs-2.0.3-0
mysql-mroonga-2.03-0
MySQL-client-5.5.23-1.rhel5
MySQL-server-5.5.23-1.rhel5
いやこれ全部最新版だよね
もう疲れたよパトラッシュ
- 79 :
- groongaのバージョン戻して、
プライマリキーを削除したら検索可能になった
それで普通のINDEXなら張り直しても問題ない
原理は不明だけど
- 80 :
- 昔はVARCHAR型プライマリキーの扱いに問題があったけど
最新バージョンでは大丈夫になってるはずだけどなぁ
- 81 :
- 最新バージョンはうまく入らなかったから戻したんだよ
- 82 :
- >>78
yumで入れた場合MySQLとmroongaのバージョン気をつけないとそんなことになった気がする
mroongaソースから入れたらいいよ
- 83 :
- MySQL-server のversion が 5.5.25-1.rhel5 にup されたね
おかげで、yum でmysql-mroonga が入るようになった
- 84 :
- 知っている方が居たら教えて頂きたいんですけど、
今、likeで部分一致を使って検索しているシステムを
全文検索に置き換えたいと思ってます
そこでmroongaを試して居たのですが…
「駅」とかで検索した時に、TokenBigram(デフォルト)だと引っかからず
対策としてTokenUnigramにしました
TokenUnigramにする事で、「駅」は解決したのですが、
今度は「BOX」がどうにもならず…
データにINBOXとかがあり、これが引っかからない…
mroongaで「駅」と「BOX」を両立させるうまい手は無いでしょうか
今の環境は、CentOS 6.2でmysqlは5.1.61, mroongaは2.0.3です
全部yumで入れました
- 85 :
- ngramのがはやそげ
- 86 :
- 結局、
TokenBigramSplitSymbolAlphaDigitで
?mroonga_match_escalation_thresholdを1にして
検索かけたら上手く行った
- 87 :
- WindowsServerでTritonn使ってます。
システムの移行を考えてて、groonga試したいんだけど、
MySQLのプラグインとしてgroongaを使うのはWindowsでは
できませんか?
導入手順ご存知の方がいらっしゃったら教えてください
- 88 :
- ここ見たのか知らないけど、今ここでWindowsでも使えるように頑張ってるみたい
10月の後半ぐらいには使えるようになるんじゃね?
http://redmine.groonga.org/issues/1496
- 89 :
- >>88
現在開発中なんですね。
気長に待ちます。
- 90 :
- debパッケージからgroonga-server groonga-server-commonがなくなっているような…
- 91 :
- groonga-server-gqtpに名前が変わったのか
- 92 :
- groonga-httpdに
curl http://localhost:10041/d/status
とかすると405 not allowedになるんだけどどうすりゃいいの
nginx関連で405で調べるとpostした時のことばかりだし
groonga内包のhttpの方は、shutdownで帰ってこない
gqtpの方は問題ないんだが…
疲れた
- 93 :
- groongaをhttpで起動し、
http://localhsot
にブラウザでアクセスしたら、
groongaのCPU使用率が100%になって、
応答なし状態になるんだけど、
何が悪いんでしょうか。
以下のコマンドを順番に実行しただけです。
ttp://groonga.org/ja/docs/tutorial/network.html#hypertext-transfer-protocol-http
ttp://perl-users.jp/articles/advent-calendar/2011/casual/4
Windows8と2008ServerR2の
両方で再現...
素直にLinux使うべき?
- 94 :
- mroonga2.04->3.01に変えたら
Insert時にgroonga.logに
invalid utf8 string(2) on grn_str_charlen_utf8
が出るようになった・・・
文字コード照合順序はDBも、テーブルも、全文検索用インデックス設定してるカラムも
全部utf8_general_ciにしてる
全文検索の結果も同じ単語で今まで引っかかってたものが
半分くらいしか引っかからなくなってたり、、インデックスが壊れてる?
- 95 :
- mroonga2.04->3.01に変えたら
Insert時にgroonga.logに
invalid utf8 string(2) on grn_str_charlen_utf8
が出るようになった・・・
文字コード照合順序はDBも、テーブルも、全文検索用インデックス設定してるカラムも
全部utf8_general_ciにしてる
全文検索の結果も同じ単語で今まで引っかかってたものが
半分くらいしか引っかからなくなってたり、、インデックスが壊れてる?
- 96 :
- なんか、grn::dat::Trie::open failedって出るようになってしまってgroongaエンジン系全滅なんだけど。
どうやって復帰すりゃええんですかいの?
- 97 :
- あ、mysql上なのでmroonga使ってますた
。
結局データの復帰はならず、一時ファイル的なものなので全抹消とあいなりました。
試したこと一覧
・UNINSTALL PLUGIN、INSTALL PLUGINを実行 → 変化なし
・clearlockを実行(データファーいるの場所がわからず全体に対してclearlock) → 変化なし
・drop table → エラーで動かず
・UNINSTALL PLUGINを実行してからdrop table → テーブル自体は削除OK
・同じDB上でもっかいmroongaエンジンのテーブル作成 → 同様のエラーで作成できず
・DBを変更してmroongaエンジンのテーブル作成 → OK
・現行バックアップできるテーブル(非mroongaエンジン)を退避して、drop database → OK
・DBごと再作成 → OK
もうちょっとスマートな解消方法あったんですかね?
スレチだったらごめんなさい。
- 98 :
- oh... IDが変わってるけど>>96です。
ちなみに途中でgroonga及びmroongaは1.0.xから3.03にアップデートしますた。
- 99 :
- 続報
同名DBを作成しなおして同名テーブルを生成し直すとエラー
当然っちゃ当然ですね。
というわけで、DBをもう一回削除しなおした後、mysqlのdataディレクトリ中のmrnファイルをごっそり削除したところエラーは回避。
なんとも不安定な仕組みなもんだね。mroongaは
- 100 :
- 3.03に切り替えたからか、そもそも不安定なのか、mroongaのupdateがフリーズ(?)するようになってしまった・・・。
100〜のスレッドの続きを読む
CGIに依存しないPerlの話題一般/Part2
PHPにもJSPのEL式とかtaglibとか標準で用意しろよ
CGIで運営される2ちゃんねる
【テスト】PHPで2chにHello Worldを書き込む 2
Velocity vs JSPでVelocityを称えるスレ
PHPでオークションサイトを作ろう!
Ajaxでも語りませんか Rigel4
j-code.plの中国語版教えて
PHP + PostgreSQL
【勉強するのは】PHPとPerl【どっちが最初?】
--------------------
スピンサーブを会得するスレ Part.3
【画像あり】 まんさん「私が彼女だったらアリだと思う人RTしてw」パシャッ [324064431]
ロボットは心を持ちえるか Part.9
顔文字板イベント総合スレ Part2
【ガールズ&パンツァー】生徒会キャラ総合スレ☆【角谷杏】 Part8
NHK前橋放送局
ヽ(´ー`)ノ 武蔵野美術大学
在宅用コンテンツの無いアイドルが全滅wwwwwwwwwwwwwww
はじめの一歩●Round670●
奥様、やはり無職ネトサヨがナマポ詐欺犯を必死に擁護するのは己も犯人だからですってw ★2
【黒イボフォトショ】MAGO、孫スレ【被害妄想】
【のうりん】白鳥士郎223【りゅうおうのおしごと!】
地方競馬実況6218
斉藤由貴のパンツを被りたい
【QMA】アロエたん@クイズマジックアカデミー
ゆりやん → 御嶽海 → ミルクボーイ内海@埼玉西武ライオンズ'20-3
女主人公で遊べる洋ゲー 総合スレ4
☆テンピュールから化学物質??★
チャットマガ
【(*^ー^)】ちっちゃくてかわいいAA貼れや!Part28【(^ー^*)】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼