MySQL5.5以上で対応してるだけの話。
74 :
55 :2012/05/24(木) 21:16:26.25 ID:???
queryのエスケープ処理のカオスっぷりハンパねーな
76 :
nobodyさん :2012/06/01(金) 16:29:26.89 ID:GjNXJRiE
mroongaテーブルで全文検索はうまくいくんだけど、 プライマリキーでの検索がちゃんとヒットしない バージョンは1.3.0 俺だけ? こんな単純なところで引っかかるとは・・
プライマリキーも全文検索の対象にしてるの? プライマリキーでの全文検索ってのはできるのかな・・・ オートインクリメントのカラムを別途用意してそっちをプライマリキーにしたほうが安全だと思うが・・・
プライマリキーは全文検索の対象にしてないよ 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 いやこれ全部最新版だよね もう疲れたよパトラッシュ
groongaのバージョン戻して、 プライマリキーを削除したら検索可能になった それで普通のINDEXなら張り直しても問題ない 原理は不明だけど
昔はVARCHAR型プライマリキーの扱いに問題があったけど 最新バージョンでは大丈夫になってるはずだけどなぁ
最新バージョンはうまく入らなかったから戻したんだよ
>>78 yumで入れた場合MySQLとmroongaのバージョン気をつけないとそんなことになった気がする
mroongaソースから入れたらいいよ
MySQL-server のversion が 5.5.25-1.rhel5 にup されたね おかげで、yum でmysql-mroonga が入るようになった
知っている方が居たら教えて頂きたいんですけど、 今、likeで部分一致を使って検索しているシステムを 全文検索に置き換えたいと思ってます そこでmroongaを試して居たのですが… 「駅」とかで検索した時に、TokenBigram(デフォルト)だと引っかからず 対策としてTokenUnigramにしました TokenUnigramにする事で、「駅」は解決したのですが、 今度は「BOX」がどうにもならず… データにINBOXとかがあり、これが引っかからない… mroongaで「駅」と「BOX」を両立させるうまい手は無いでしょうか 今の環境は、CentOS 6.2でmysqlは5.1.61, mroongaは2.0.3です 全部yumで入れました
ngramのがはやそげ
86 :
84 :2012/06/15(金) 19:58:43.63 ID:???
結局、 TokenBigramSplitSymbolAlphaDigitで ?mroonga_match_escalation_thresholdを1にして 検索かけたら上手く行った
87 :
nobodyさん :2012/09/29(土) 19:02:59.77 ID:6ahxPXX9
WindowsServerでTritonn使ってます。 システムの移行を考えてて、groonga試したいんだけど、 MySQLのプラグインとしてgroongaを使うのはWindowsでは できませんか? 導入手順ご存知の方がいらっしゃったら教えてください
89 :
87 :2012/10/07(日) 11:14:16.58 ID:???
>>88 現在開発中なんですね。
気長に待ちます。
debパッケージからgroonga-server groonga-server-commonがなくなっているような…
groonga-server-gqtpに名前が変わったのか
groonga-httpdに
curl
http://localhost:10041/d/status とかすると405 not allowedになるんだけどどうすりゃいいの
nginx関連で405で調べるとpostした時のことばかりだし
groonga内包のhttpの方は、shutdownで帰ってこない
gqtpの方は問題ないんだが…
疲れた
94 :
nobodyさん :2013/03/14(木) 17:15:20.37 ID:xn34kGqY
mroonga2.04->3.01に変えたら Insert時にgroonga.logに invalid utf8 string(2) on grn_str_charlen_utf8 が出るようになった・・・ 文字コード照合順序はDBも、テーブルも、全文検索用インデックス設定してるカラムも 全部utf8_general_ciにしてる 全文検索の結果も同じ単語で今まで引っかかってたものが 半分くらいしか引っかからなくなってたり、、インデックスが壊れてる?
95 :
nobodyさん :2013/03/14(木) 17:16:26.58 ID:xn34kGqY
mroonga2.04->3.01に変えたら Insert時にgroonga.logに invalid utf8 string(2) on grn_str_charlen_utf8 が出るようになった・・・ 文字コード照合順序はDBも、テーブルも、全文検索用インデックス設定してるカラムも 全部utf8_general_ciにしてる 全文検索の結果も同じ単語で今まで引っかかってたものが 半分くらいしか引っかからなくなってたり、、インデックスが壊れてる?
96 :
nobodyさん :2013/05/10(金) 16:34:31.53 ID:BGsSkY8Y
なんか、grn::dat::Trie::open failedって出るようになってしまってgroongaエンジン系全滅なんだけど。 どうやって復帰すりゃええんですかいの?
97 :
nobodyさん :2013/05/10(金) 20:53:30.15 ID:cFx0Oq6o
あ、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 もうちょっとスマートな解消方法あったんですかね? スレチだったらごめんなさい。
oh... IDが変わってるけど
>>96 です。
ちなみに途中でgroonga及びmroongaは1.0.xから3.03にアップデートしますた。
99 :
nobodyさん :2013/05/10(金) 21:57:12.05 ID:cFx0Oq6o
続報 同名DBを作成しなおして同名テーブルを生成し直すとエラー 当然っちゃ当然ですね。 というわけで、DBをもう一回削除しなおした後、mysqlのdataディレクトリ中のmrnファイルをごっそり削除したところエラーは回避。 なんとも不安定な仕組みなもんだね。mroongaは
100 :
96 :2013/05/11(土) 13:25:32.41 ID:???
3.03に切り替えたからか、そもそも不安定なのか、mroongaのupdateがフリーズ(?)するようになってしまった・・・。
101 :
nobodyさん :2013/05/31(金) 04:55:23.95 ID:TNUtMHtE
トリトン使うことにしますた
>>103 not foundには変わりないけど・・どういう意味ですか?
頻発にテーブルupdateすると壊れるからマジで使えない
mroongaでカンマ区切りでインデックスさせるにはどうしたらいいすか?
mroongaとして使ってて、導入コストも低いし性能も問題ないんだけど 何の前触れもなく検索が遅くなったりするのが怖い
112 :
nobodyさん :2014/02/05(水) 10:56:52.51 ID:k8lujHJw
groonga のテーブル定義がさっぱりわかりません。 例えば wikipedia のデータをストアしたい場合、 どーすればいいのでしょうか?
groonga-dev のメーリングリストで教えてもらったから勝手に転載するわよ! # <field name="id" type="string" indexed="true" stored="true" required="true"/> # Groongaではレコードを一意に識別する値はキーとして扱う。 # 必須。required="true"相当? table_create Articles TABLE_PAT_KEY ShortText # <field name="title" type="text_ja" indexed="true" stored="true" required="true"/> column_create Articles title COLUMN_SCALAR Text
# <field name="revision" type="int" indexed="false" stored="true"/> column_create Articles revision COLUMN_SCALAR Int32 # <field name="user" type="string" indexed="true" stored="true"/> column_create Articles user COLUMN_SCALAR ShortText # <field name="userId" type="int" indexed="false" stored="true"/> column_create Articles user_id COLUMN_SCALAR UInt64 # <field name="text_ja" type="text_ja" indexed="true" stored="true" required="true"/> column_create Articles text_ja COLUMN_SCALAR Text # <field name="timestamp" type="date" indexed="true" stored="true" default="now" multiValued="false"/> # default="now"相当の機能はありません。 column_create Articles timestamp COLUMN_SCALAR Time
# ↓のtype="string"の転置索引用の語彙表: # <field name="id" type="string" indexed="true" stored="true" required="true"/> # <field name="user" type="string" indexed="true" stored="true"/> # Bigramでトークナイズする。 table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto # indexed="true"に相当。 column_create Terms articles_text COLUMN_INDEX|WITH_POSITION|WITH_SECTION Articles _key,user # ↓用の転置索引用の語彙表: # <field name="title" type="text_ja" indexed="true" stored="true" required="true"/> # <field name="text_ja" type="text_ja" indexed="true" stored="true" required="true"/> # text_jaに相当するのは--default_tokenizer TokenMecab。 table_create JapaneseTerms TABLE_PAT_KEY ShortText --default_tokenizer TokenMecab --normalizer NormalizerAuto # indexed="true"に相当。 column_create JapaneseTerms articles_text COLUMN_INDEX|WITH_POSITION|WITH_SECTION Articles title,text_ja
# ↓用の転置索引用の語彙表: # <field name="timestamp" type="date" indexed="true" stored="true" default="now" multiValued="false"/> # カラムに入っている値(タイムスタンプ)そのものをトークンとして使うので # トークナイザーは指定しない。 # キーの型をTimeにしてArticles.timestamp(トークンの型)とあわせることがポイント。 table_create Times TABLE_PAT_KEY Time # Articles.timestamp用の転置索引の定義。indexed="true"に相当 column_create Times articles_timestamp COLUMN_INDEX Articles timestamp
難しいだわさ。
groongaは一部中国語に対応してるみたいだけど、拡張すればその他の言語もいけるのかな
おまんもーす
120 :
nobodyさん :2015/02/08(日) 14:09:10.77 ID:brXmi2cE
Droonga最新版 (1.0.9) がUbuntuにもCentOSにもインストールできなくなってしまった 更新も止まってるし、そろそろ見切りを付けて移行したほうがよさげかな? 使い始めたときの思惑と違って分散処理が不要になったから 素のGroongaでもよさそうだけど、簡単に移れるものなのかな・・・ドキドキ
121 :
nobodyさん :2015/02/08(日) 14:10:21.74 ID:brXmi2cE
正確にはUbuntuではインストールできない CentOSではselectが実行できない Debianは試していない
122 :
nobodyさん :
2015/02/08(日) 16:58:58.79 ID:brXmi2cE 無事、素のGroongaに移行完了(データは移行中) Droongaなんていらんかったんや!