ないようなので立ててみました。
http://dev.razil.jp/project/senna/
組み込み型全文検索エンジンSenna
1うんこ船長
2005/06/15(水) 00:14:13ID:nYzPplAZ83nobodyさん
2007/03/23(金) 09:28:55ID:??? SennaインストールのためMySQLにパッチ当てる
↓
MySQLバージョンアップ
↓
MySQLにパッチ
↓
MySQLバージョンアップ
↓
MySQLにパッチ
↓
MySQLバージョンアップ
↓
MySQLにパッチ
↓
MySQLバージョンアップ
↓
MySQLにパッチ
↓
MySQLバージョンアップ
↓
MySQLにパッチ
↓
MySQLバージョンアップ
↓
MySQLにパッチ
84nobodyさん
2007/03/23(金) 10:32:11ID:/lSdv2/+ MATCH (title,body) でエラーしたり全レコードHITしたり
85nobodyさん
2007/03/23(金) 10:48:37ID:??? それはない
86nobodyさん
2007/03/23(金) 11:02:26ID:??? >>81
あいあいー。aptで入るように頑張りたい。
正規化は自前でやっているので、MeCabなしでも恩恵を受けられます。
>>82
CentOS 4.4でx86_64でよければ作るよ!
RedHat系でi386環境がなくて…
>>83
マンドクセーよね。
やはり公式パッケージ化を…
ちなみに、Sennaの通常のバージョンアップがあっても
MySQLの再コンパイルは必要ねっす。
でも、Tritonnのバージョンアップがあったら
再コンパイルが必要っす。
MySQL 5.1以降のplugin storageでなんとかなるか、とも思ったんだけど、
やはり高速にするには本体に手を入れないといけないのでアウト。
Ludiaは本体にパッチ入れなくていいけど、
それでもPg 8.1からPg 8.2のバージョンアップで動かなくなったしなあ…
ま、Pg 8.1->8.2は中身変わりすぎなんだけど。
>>84
文字コード間違えてるとそんな挙動もあるかも。
あいあいー。aptで入るように頑張りたい。
正規化は自前でやっているので、MeCabなしでも恩恵を受けられます。
>>82
CentOS 4.4でx86_64でよければ作るよ!
RedHat系でi386環境がなくて…
>>83
マンドクセーよね。
やはり公式パッケージ化を…
ちなみに、Sennaの通常のバージョンアップがあっても
MySQLの再コンパイルは必要ねっす。
でも、Tritonnのバージョンアップがあったら
再コンパイルが必要っす。
MySQL 5.1以降のplugin storageでなんとかなるか、とも思ったんだけど、
やはり高速にするには本体に手を入れないといけないのでアウト。
Ludiaは本体にパッチ入れなくていいけど、
それでもPg 8.1からPg 8.2のバージョンアップで動かなくなったしなあ…
ま、Pg 8.1->8.2は中身変わりすぎなんだけど。
>>84
文字コード間違えてるとそんな挙動もあるかも。
88nobodyさん
2007/03/24(土) 00:06:40ID:??? RHEL 用ならともかく Fedora 用じゃ儲からないだろ
89nobodyさん
2007/03/24(土) 06:39:31ID:??? Fedora儲かるよ。ユーザー数多いし。
90nobodyさん
2007/03/24(土) 14:47:40ID:??? Senna, Tritonn, Ludia の Portfile (MacPorts) 書いたよ。
ttp://lapangan.net/darwinports/index.php?cmd=read&page=PrivatePortfile%2FSenna
MeCab のデフォルト辞書を UTF-8 で作成する代わりに lex.c に手を入れて
mecab_new() の引数で UTF-8 の辞書を指定するようにしています。
ttp://lapangan.net/darwinports/index.php?cmd=read&page=PrivatePortfile%2FSenna
MeCab のデフォルト辞書を UTF-8 で作成する代わりに lex.c に手を入れて
mecab_new() の引数で UTF-8 の辞書を指定するようにしています。
93nobodyさん
2007/03/26(月) 00:51:35ID:??? なんで、Sennaって、MySQLやPostgreSQLの
全文検索機能に公式に採用されないの?
一体なにがじゃましているの?
理解できない。
全文検索機能に公式に採用されないの?
一体なにがじゃましているの?
理解できない。
94nobodyさん
2007/03/26(月) 00:59:08ID:??? なんで、一介の日本語検索エンジンがMySQLやPostgreSQLの
全文検索機能に公式に採用されると考えるのか理解できない。
必要な人が組み込めばいいだけ。
英語圏の人がMeCabとSenna入れるなんて考えられんだろ。
Sennaはちょっと前にメジャーバージョンが出たばかりだし、
APIも結構変わってて安定しているとは言いがたい。
実際使ってるが動作はそこそこ安定してるけどね。
全文検索機能に公式に採用されると考えるのか理解できない。
必要な人が組み込めばいいだけ。
英語圏の人がMeCabとSenna入れるなんて考えられんだろ。
Sennaはちょっと前にメジャーバージョンが出たばかりだし、
APIも結構変わってて安定しているとは言いがたい。
実際使ってるが動作はそこそこ安定してるけどね。
95nobodyさん
2007/03/26(月) 01:34:44ID:??? 例 phpには日本語サポートが含まれている。
今の時代に、日本語サポートが含まれるはずが無いなんて
どういう頭をしているんだ?
今の時代に、日本語サポートが含まれるはずが無いなんて
どういう頭をしているんだ?
96nobodyさん
2007/03/26(月) 01:38:07ID:??? ばかじゃねーの・・・・
PHPと同じようにMySQLは日本語サポートしてるよ。
でPHPと同じようにSennaバインディングは組み込まれてないよ。
どういう頭をしているんだ?
PHPと同じようにMySQLは日本語サポートしてるよ。
でPHPと同じようにSennaバインディングは組み込まれてないよ。
どういう頭をしているんだ?
97nobodyさん
2007/03/26(月) 01:48:12ID:??? > PHPと同じようにMySQLは日本語サポートしてるよ。
そうだな。
だから、
> なんで、一介の日本語検索エンジンが
とか
> 英語圏の人がMeCabとSenna入れるなんて考えられんだろ。
とか、
そういう考えがおかしいと言うことだな。
同じ理屈で、phpも公式に採用しない理由は無いということだな。
まあ、全文検索という機能はデータベースの方が重要だから、
phpよりも先にMySQLやPostgreSQLに採用されるべきだな。
そうだな。
だから、
> なんで、一介の日本語検索エンジンが
とか
> 英語圏の人がMeCabとSenna入れるなんて考えられんだろ。
とか、
そういう考えがおかしいと言うことだな。
同じ理屈で、phpも公式に採用しない理由は無いということだな。
まあ、全文検索という機能はデータベースの方が重要だから、
phpよりも先にMySQLやPostgreSQLに採用されるべきだな。
98nobodyさん
2007/03/26(月) 02:06:48ID:??? ふーん。
「日本語で高度な全文検索をしたい」という99%以上のユーザに関係ない機能のために
配布パッケージに日本語形態素解析エンジンや日本語の辞書や日本語の検索エンジンライブラリを
含めることなんてありえない話だと思うがな。
あっという間にパッケージの容量とコンパイル時間が5割り増しだ。
まぁ含めろとまでは言ってなくてデフォルトで
--enable-senna --senna-prefix=/usr
とかをサポートしろとかいう話なのかも知れんが。
もっとも各言語の検索エンジンがMySQLに実装されてどの言語でも全文検索がデフォルトで
できるようになったらすごいことだと思うけど。
MySQLはストレージであって高度な検索エンジンではないのでその方向性は限りなく
ありえないものだとは言っておくよ。
必要なユーザが好きな検索エンジンを勝手に組み込めばよい。
「日本語で高度な全文検索をしたい」という99%以上のユーザに関係ない機能のために
配布パッケージに日本語形態素解析エンジンや日本語の辞書や日本語の検索エンジンライブラリを
含めることなんてありえない話だと思うがな。
あっという間にパッケージの容量とコンパイル時間が5割り増しだ。
まぁ含めろとまでは言ってなくてデフォルトで
--enable-senna --senna-prefix=/usr
とかをサポートしろとかいう話なのかも知れんが。
もっとも各言語の検索エンジンがMySQLに実装されてどの言語でも全文検索がデフォルトで
できるようになったらすごいことだと思うけど。
MySQLはストレージであって高度な検索エンジンではないのでその方向性は限りなく
ありえないものだとは言っておくよ。
必要なユーザが好きな検索エンジンを勝手に組み込めばよい。
99nobodyさん
2007/03/26(月) 02:17:01ID:??? 別にMeCab使わずに日本語に特化した部分を除いても
Sennaは高速全文検索として利用価値が高いと思うけど。
Sennaは高速全文検索として利用価値が高いと思うけど。
100nobodyさん
2007/03/26(月) 02:30:28ID:??? >>98
すでにMySQLやPostgreSQLにスペース区切りという、
特定の言語に依存した全文検索機能がついている以上、
高度な検索エンジンではないとか言っても説得力が無い。
全文検索が必要かどうかの話はとっくに済んでいる。
英単語区切り以外の区切り方という、国際化対応の話なんだよ。
すでにMySQLやPostgreSQLにスペース区切りという、
特定の言語に依存した全文検索機能がついている以上、
高度な検索エンジンではないとか言っても説得力が無い。
全文検索が必要かどうかの話はとっくに済んでいる。
英単語区切り以外の区切り方という、国際化対応の話なんだよ。
101nobodyさん
2007/03/26(月) 02:57:28ID:??? >>100
> すでにMySQLやPostgreSQLにスペース区切りという、
> 特定の言語に依存した全文検索機能がついている以上、
> 高度な検索エンジンではないとか言っても説得力が無い。
どこが?スコア付けもしない全文検索機能が「高度な検索エンジン」か?
ちがうだろ。
> すでにMySQLやPostgreSQLにスペース区切りという、
> 特定の言語に依存した全文検索機能がついている以上、
> 高度な検索エンジンではないとか言っても説得力が無い。
どこが?スコア付けもしない全文検索機能が「高度な検索エンジン」か?
ちがうだろ。
102nobodyさん
2007/03/26(月) 03:21:49ID:??? くすくす・・・くすくす・・・くすくす・・・・・・・・・・・・・・・・・・・・・・・・ぶわーはhっははっは
http://dev.mysql.com/doc/refman/4.1/ja/fulltext-search.html
MATCH() を WHERE 節で使用すると(上の例を参照)、
返されるレコードは関連性が最も高いレコードから
低いレコードの順に自動でソートされます。
http://dev.mysql.com/doc/refman/4.1/ja/fulltext-search.html
MATCH() を WHERE 節で使用すると(上の例を参照)、
返されるレコードは関連性が最も高いレコードから
低いレコードの順に自動でソートされます。
103nobodyさん
2007/03/26(月) 03:28:11ID:??? >>101
重み付けはしてるよ。使ったことないけど。まぁ調べなよ。
>>100
実用的な全文検索方法って言うのは言語ごとにちがうのであって、
日本語の場合は形態素解析を用いるのが実際便利なわけだよね。
じゃぁ日本語サポートのためだけにどこかが作った日本語形態素解析器と
エンジンを組み込むか?っていうとそれは無理なんじゃない?
って言うことを言いたいだけだ。
メジャーバージョンがリリースされたばかりのSennaを公式に組みこまないのは
理解できないとか飛躍しすぎだよ。
各言語対応のN-gramインデックスでの検索機能を組み込んで欲しいというのならまだわかる。
ただその場合Sennaが採用されるかというと安定度や実績の面で明らかに微妙だろ。
重み付けはしてるよ。使ったことないけど。まぁ調べなよ。
>>100
実用的な全文検索方法って言うのは言語ごとにちがうのであって、
日本語の場合は形態素解析を用いるのが実際便利なわけだよね。
じゃぁ日本語サポートのためだけにどこかが作った日本語形態素解析器と
エンジンを組み込むか?っていうとそれは無理なんじゃない?
って言うことを言いたいだけだ。
メジャーバージョンがリリースされたばかりのSennaを公式に組みこまないのは
理解できないとか飛躍しすぎだよ。
各言語対応のN-gramインデックスでの検索機能を組み込んで欲しいというのならまだわかる。
ただその場合Sennaが採用されるかというと安定度や実績の面で明らかに微妙だろ。
104nobodyさん
2007/03/26(月) 03:30:00ID:??? > じゃぁ日本語サポートのためだけにどこかが作った日本語形態素解析器と
> エンジンを組み込むか?っていうとそれは無理なんじゃない?
だからなんでなんだよw
> エンジンを組み込むか?っていうとそれは無理なんじゃない?
だからなんでなんだよw
105nobodyさん
2007/03/26(月) 03:46:49ID:???106nobodyさん
2007/03/26(月) 03:49:36ID:??? そのほかのソフトを見てみろ。
99%の人には関係ない日本語を
なんらかの形でサポートしているのが多いだろ。
それなのに日本語サポートするわけが無いなんて
理解不能。
99%の人には関係ない日本語を
なんらかの形でサポートしているのが多いだろ。
それなのに日本語サポートするわけが無いなんて
理解不能。
107nobodyさん
2007/03/26(月) 04:01:10ID:??? そういう暴論はもういいって。
他のソフトと同じくMySQLだって日本語はサポートしてるっていってんじゃん。
日本語形態素解析を用いた全文検索をサポートするかって話だろ。
今のところどのオープンソースのデータベースサーバもしてないよ。
もし取り込むにしたってInnoDBとかFalconとか取り込むにも実際買収したり
取り込むクォリティにするまでにかなり時間がかかってるわけ。
そのぐらい理解してくれよ。
他のソフトと同じくMySQLだって日本語はサポートしてるっていってんじゃん。
日本語形態素解析を用いた全文検索をサポートするかって話だろ。
今のところどのオープンソースのデータベースサーバもしてないよ。
もし取り込むにしたってInnoDBとかFalconとか取り込むにも実際買収したり
取り込むクォリティにするまでにかなり時間がかかってるわけ。
そのぐらい理解してくれよ。
108nobodyさん
2007/03/26(月) 11:12:35ID:??? キモヲタ同士のキモキモ議論はその辺で終わりにしろ。
そんなことよりも、俺はとにかく簡単にsennaが使えるようになればそれでいいんだ。
そんなことよりも、俺はとにかく簡単にsennaが使えるようになればそれでいいんだ。
109nobodyさん
2007/03/26(月) 12:25:28ID:??? 組み込み易くする、ドキュメントとノウハウの充実を図る、
で必要十分じゃまいか。tritonnの中の人も、たぶんそう考えている
だろうし。
まわりにsennaは良いよって言ったり、応援したりするだけで、
具体的にはなんの貢献もしていないフリーライダーの漏れが
意見する筋合いじゃないか。。。
で必要十分じゃまいか。tritonnの中の人も、たぶんそう考えている
だろうし。
まわりにsennaは良いよって言ったり、応援したりするだけで、
具体的にはなんの貢献もしていないフリーライダーの漏れが
意見する筋合いじゃないか。。。
110nobodyさん
2007/03/26(月) 14:26:59ID:??? うひひ。盛り上がってる。
公式に組み込まれない理由…
MySQLはGPL/商用のデュアルライセンスで、
基本的にソースコードの著作権はMySQL ABが全部持っている。
(InnoDBなど例外あり)
SennaはLGPLなので取り込めない。
PgはBSDライセンスなので、これも取り込んでもらえないと思う。
とりあえず、mysql-sennaとかpostgresql-sennaみたいなパッケージが
DebianやFreeBSDで簡単に入るようになれば問題ないと思ってます。
公式に組み込まれない理由…
MySQLはGPL/商用のデュアルライセンスで、
基本的にソースコードの著作権はMySQL ABが全部持っている。
(InnoDBなど例外あり)
SennaはLGPLなので取り込めない。
PgはBSDライセンスなので、これも取り込んでもらえないと思う。
とりあえず、mysql-sennaとかpostgresql-sennaみたいなパッケージが
DebianやFreeBSDで簡単に入るようになれば問題ないと思ってます。
111nobodyさん
2007/03/27(火) 05:18:12ID:vEc96bSI tritonn-1.0.1.mysql-5.0.37.senna-1.0.3でインストールして使っています
sennaというか全文検索エンジンの質問になると思うのですが…
title:NGRAM,body:MECABで主に歌手のCD発売やコンサート情報をまとめています
例えばELLEGARDENというバンドがいるのですが、
今までLIKE '%〜%'でやっていた経緯もあり、利用者は
"ELLE" などで検索をかけてきます
"ELLEGARDEN"だとヒットするのですが、上記のように短縮した場合は
ヒットしないようなのですが対処の方法はあるでしょうか?
title(NGRAM)の方だけでもなんとかなればと思っています
よろしくお願いいたします
sennaというか全文検索エンジンの質問になると思うのですが…
title:NGRAM,body:MECABで主に歌手のCD発売やコンサート情報をまとめています
例えばELLEGARDENというバンドがいるのですが、
今までLIKE '%〜%'でやっていた経緯もあり、利用者は
"ELLE" などで検索をかけてきます
"ELLEGARDEN"だとヒットするのですが、上記のように短縮した場合は
ヒットしないようなのですが対処の方法はあるでしょうか?
title(NGRAM)の方だけでもなんとかなればと思っています
よろしくお願いいたします
112nobodyさん
2007/03/27(火) 11:28:08ID:??? >>111
手パッチでもよいのなら…
tritonn中にsen_index_createという関数が3つある。
この、第3引数、なんとかflagsを渡すところを、
なんとかflags | SEN_INDEX_SPLIT_ALPHA | SEN_INDEX_SPLIT_DIGIT | SEN_INDEX_SPLIT_SYMBOL
にしてみ。
すでにパッチを当てたMySQLのソースディレクトリが残っているなら、
その中からgrepしたほうが早い。
その後make && make installして、インデックスを再作成してみて。
N-gramのtitleだけ英単語の部分一致検索が出来るようになる。
手パッチでもよいのなら…
tritonn中にsen_index_createという関数が3つある。
この、第3引数、なんとかflagsを渡すところを、
なんとかflags | SEN_INDEX_SPLIT_ALPHA | SEN_INDEX_SPLIT_DIGIT | SEN_INDEX_SPLIT_SYMBOL
にしてみ。
すでにパッチを当てたMySQLのソースディレクトリが残っているなら、
その中からgrepしたほうが早い。
その後make && make installして、インデックスを再作成してみて。
N-gramのtitleだけ英単語の部分一致検索が出来るようになる。
113nobodyさん
2007/03/27(火) 17:04:20ID:9Tb1caug sennaで求人情報の検索サイトみたいなものを作成しようかと思っているのですが
求人の検索って基本的にチェック入れたりする方が多いですよね?
そういう意味で、求人情報検索にsenna導入ってどうでしょう?
求人の検索って基本的にチェック入れたりする方が多いですよね?
そういう意味で、求人情報検索にsenna導入ってどうでしょう?
114nobodyさん
2007/03/27(火) 17:14:36ID:??? それを教えてくれる人を求人すればどうだ?
116nobodyさん
2007/03/27(火) 22:01:38ID:??? >>113
全文検索+他条件の検索だったら結構Sennaの得意なところ?だと思います。
全文検索が必要となった段階で導入してもいいと思います。
それまではlike '%xxx%'でしのぐといいと思うよ。
全文検索+他条件の検索だったら結構Sennaの得意なところ?だと思います。
全文検索が必要となった段階で導入してもいいと思います。
それまではlike '%xxx%'でしのぐといいと思うよ。
117nobodyさん
2007/03/27(火) 23:44:08ID:??? senna を mysql 5.0.37に組み込んでbuildしてみた。
mysqldがぜんぜん起動せず、senna patch 無しの
mysqld に戻しても起動しなくなってぶち壊したかと
思ったら、libsenna.so をロードできてなかった。ldconfig
したらあっさり動いた。以上今夜のチラ裏。
mysqldがぜんぜん起動せず、senna patch 無しの
mysqld に戻しても起動しなくなってぶち壊したかと
思ったら、libsenna.so をロードできてなかった。ldconfig
したらあっさり動いた。以上今夜のチラ裏。
118nobodyさん
2007/03/28(水) 01:34:59ID:???119nobodyさん
2007/03/29(木) 01:20:21ID:??? >>112
すみません
昨日はちょっと遅くなったので今日やってみました
>tritonn中にsen_index_createという関数が3つある。
3ファイル(4箇所)でよかったでしょうか
SHOW SENNA STATUSで3つともONになりました
(MECABの方もONになりましたがよかったのかな?)
結果は英単語の部分一致検索が出来るようになったのですが
時折クエリーに時間がかかる事が発生するようになりました
通常は0.1秒以内なんですが10秒とかかかるときが何度もあります
気になるのはインデックスファイルの更新時間なんですが
データのinsert,updateでは更新されていないようです
上の問題とは関係ないかもしれませんが少し気になりました
設定などで見直す所等があったらご教示お願いします
すみません
昨日はちょっと遅くなったので今日やってみました
>tritonn中にsen_index_createという関数が3つある。
3ファイル(4箇所)でよかったでしょうか
SHOW SENNA STATUSで3つともONになりました
(MECABの方もONになりましたがよかったのかな?)
結果は英単語の部分一致検索が出来るようになったのですが
時折クエリーに時間がかかる事が発生するようになりました
通常は0.1秒以内なんですが10秒とかかかるときが何度もあります
気になるのはインデックスファイルの更新時間なんですが
データのinsert,updateでは更新されていないようです
上の問題とは関係ないかもしれませんが少し気になりました
設定などで見直す所等があったらご教示お願いします
120nobodyさん
2007/03/29(木) 01:28:36ID:??? >>119
4箇所か…
MeCabではそのフラグは無視されるから大丈夫。
うひ!10秒!それは実用にならないなぁ…
スラッシングが発生しているかも…
インデックスファイル(*.SEN*)の容量リストと
メモリ容量、
テーブルスキーマと
投げているクエリを教えてもらえるともっとよく分かるかもしれません。
インデックスファイルはmmapしているので、
同期される時間はOSによると思います。
あと、kernel 2.6.18(Debianのみ)と2.6.19でmmap周りにバグがあるので、
そこらへんのカーネルを使っている人は注意が必要かも。
4箇所か…
MeCabではそのフラグは無視されるから大丈夫。
うひ!10秒!それは実用にならないなぁ…
スラッシングが発生しているかも…
インデックスファイル(*.SEN*)の容量リストと
メモリ容量、
テーブルスキーマと
投げているクエリを教えてもらえるともっとよく分かるかもしれません。
インデックスファイルはmmapしているので、
同期される時間はOSによると思います。
あと、kernel 2.6.18(Debianのみ)と2.6.19でmmap周りにバグがあるので、
そこらへんのカーネルを使っている人は注意が必要かも。
121nobodyさん
2007/03/29(木) 03:50:26ID:??? MySQL のレプリケーション環境での質問です。
Senna はスレーブとマスターの両方の MySQL にパッチ宛が必要ですか?
例えば検索クエリはスレーブの一つにしか投げないとき、マスターは Senna 無しでスレーブに Senna とかでもインデックスは更新されますか?
Senna はスレーブとマスターの両方の MySQL にパッチ宛が必要ですか?
例えば検索クエリはスレーブの一つにしか投げないとき、マスターは Senna 無しでスレーブに Senna とかでもインデックスは更新されますか?
122nobodyさん
2007/03/29(木) 15:37:13ID:???123nobodyさん
2007/03/30(金) 02:01:34ID:??? あ、なんか軽く回答してもらっちゃてありがとうございます。
インデックスがずれる?てのが分かりませんでしたが、実際に環境作ってやってみます。
インデックスがずれる?てのが分かりませんでしたが、実際に環境作ってやってみます。
124nobodyさん
2007/04/03(火) 16:29:29ID:??? 公式サイトでダウンロードできるmysql-5.0.24a-senna-0.8.1-win32.zipは
バインディング済みってことでいいのでしょうか?
バインディング済みってことでいいのでしょうか?
126nobodyさん
2007/04/04(水) 09:37:01ID:??? ちゅっと試したい人にはありだと思うWindows版
127nobodyさん
2007/04/07(土) 12:04:03ID:??? Sennaを使ったWikipedia検索のデモ
http://wikipedia.suenaga.name/
http://wikipedia.suenaga.name/
128nobodyさん
2007/04/12(木) 07:33:27ID:??? 素人考えで申し訳ないんだけど、ストレージを持たないことと、更新に古い値が必要なことって直接関係あるの?
sen_index_upd()でold_valueを、sen_index_update()でold_valuesを指定せずにすむだけで使い勝手が良くなると思う。
sen_index_upd()でold_valueを、sen_index_update()でold_valuesを指定せずにすむだけで使い勝手が良くなると思う。
129nobodyさん
2007/04/12(木) 08:25:53ID:??? >>128
Sennaのインデックスは転置インデックスという構造で、
単語1: 文書ID1, 文書ID2
単語2: 文書ID1, 文書ID3
という風に、単語ごとにその単語を含む文書IDのリストを持っている。
ある文書IDだけを削除する場合、
元の文書の内容がなくても、
上記のリスト中すべての単語について
指定の文書IDがあるかどうかをチェックして削除できる。
でも激遅い。実用にならない。
以下のようなリストを別途持っておけば、
削除が必要な単語についてのみ削除処理を走らせればよい。
文書ID1: 単語1, 単語2
文書ID2: 単語1
文書ID3: 単語2
このようなリストを削除時に手に入れる方法は
・上記のリストを別途インデックスとして作っておく
・元の文書を保存しておく
・元の文書を削除時に渡す(現在のSenna方式)
の3つくらいある。
というわけで間接的だが結構影響あるぞ、ストレージ。
Sennaのインデックスは転置インデックスという構造で、
単語1: 文書ID1, 文書ID2
単語2: 文書ID1, 文書ID3
という風に、単語ごとにその単語を含む文書IDのリストを持っている。
ある文書IDだけを削除する場合、
元の文書の内容がなくても、
上記のリスト中すべての単語について
指定の文書IDがあるかどうかをチェックして削除できる。
でも激遅い。実用にならない。
以下のようなリストを別途持っておけば、
削除が必要な単語についてのみ削除処理を走らせればよい。
文書ID1: 単語1, 単語2
文書ID2: 単語1
文書ID3: 単語2
このようなリストを削除時に手に入れる方法は
・上記のリストを別途インデックスとして作っておく
・元の文書を保存しておく
・元の文書を削除時に渡す(現在のSenna方式)
の3つくらいある。
というわけで間接的だが結構影響あるぞ、ストレージ。
130nobodyさん
2007/04/12(木) 08:51:29ID:??? >>129
なるほど。削除を効率良く行うために元の文書が必要なんですね。
Sennaの場合は元の文書は別に保存されているはずで、重複して保存するのは
ディスクの無駄であるという思想でストレージを持たない、ということで合ってます?
なるほど。削除を効率良く行うために元の文書が必要なんですね。
Sennaの場合は元の文書は別に保存されているはずで、重複して保存するのは
ディスクの無駄であるという思想でストレージを持たない、ということで合ってます?
131nobodyさん
2007/04/12(木) 14:28:40ID:??? >>130
思想としてはたぶんそうだと思います。
Sennaページの開発ロードマップによると、
http://qwik.jp/senna/Roadmap.html
ストレージ機能が付いたバージョンが今月出るみたい。
たぶん、ストレージ機能が付くということは、
古い文書の内容を与えなくてもインデックスの削除や更新が
できるようになるんじゃないかな。
MySQLバインディングなんかでは必要のない機能だけど、
単体で利用する場合にはかなり便利になるんじゃない?
思想としてはたぶんそうだと思います。
Sennaページの開発ロードマップによると、
http://qwik.jp/senna/Roadmap.html
ストレージ機能が付いたバージョンが今月出るみたい。
たぶん、ストレージ機能が付くということは、
古い文書の内容を与えなくてもインデックスの削除や更新が
できるようになるんじゃないかな。
MySQLバインディングなんかでは必要のない機能だけど、
単体で利用する場合にはかなり便利になるんじゃない?
132nobodyさん
2007/05/12(土) 13:09:30ID:??? tritonn てのは mysql 本家がversion 更新したら
即更新パッチ出す。。。までは行かないの?
即更新パッチ出す。。。までは行かないの?
133nobodyさん
2007/05/22(火) 23:05:48ID:??? MySQL 5.0.41 対応出た茄子。
134nobodyさん
2007/05/30(水) 15:10:50ID:??? サポートサービスが出た。
http://www.scs.co.jp/mysql/topics070530.html
http://www.scs.co.jp/mysql/topics070530.html
135nobodyさん
2007/06/09(土) 05:34:06ID:??? "世界初、オープンソースの高速日本語
全文検索エンジンである「Senna」を
「MySQL Enterprise Server」に組み込んだ
バイナリに対し、正式に技術サポートを提供"
この「世界初」、どこにかかるのか分からん
書き方が、うざ素敵。
全文検索エンジンである「Senna」を
「MySQL Enterprise Server」に組み込んだ
バイナリに対し、正式に技術サポートを提供"
この「世界初」、どこにかかるのか分からん
書き方が、うざ素敵。
136nobodyさん
2007/08/03(金) 20:15:52ID:czE9BLpg sennaを使っていて、
「ずっと死なないhttpdプロセス」が出来ることはありませんか?
ロードアベレージが恐ろしい数になっていたので見ると、
ずっと前に生まれたhttpdプロセスがたくさん居座っていました。
apache本体を落としても、それらのプロセスは何故か生きていて、
ゾンビにはなっていません
もっとも何が原因なのかは分かっていません。
普段入れていないものといえばeacceleratorとsennaくらいなので、
そのどちらかが原因じゃないか…と
「ずっと死なないhttpdプロセス」が出来ることはありませんか?
ロードアベレージが恐ろしい数になっていたので見ると、
ずっと前に生まれたhttpdプロセスがたくさん居座っていました。
apache本体を落としても、それらのプロセスは何故か生きていて、
ゾンビにはなっていません
もっとも何が原因なのかは分かっていません。
普段入れていないものといえばeacceleratorとsennaくらいなので、
そのどちらかが原因じゃないか…と
137nobodyさん
2007/08/08(水) 21:56:38ID:nQBYWZPX fulltext indexを再構築する際、
*.SEN,*.SEN.i,*.SEN.i.cファイルは
前もって削除しておいた方がいいですか?
fulltext indexをdrop→create index
あるいはmyisamchkでインデックスの再構築をする時に、
これらのファイルも勝手に削除や更新をやってくれるのでしょうか?
*.SEN,*.SEN.i,*.SEN.i.cファイルは
前もって削除しておいた方がいいですか?
fulltext indexをdrop→create index
あるいはmyisamchkでインデックスの再構築をする時に、
これらのファイルも勝手に削除や更新をやってくれるのでしょうか?
138137
2007/08/08(水) 22:09:15ID:??? dropしたらSEN系ファイルも削除されました
つまらない質問してスミマセン
つまらない質問してスミマセン
139nobodyさん
2007/08/08(水) 22:15:17ID:??? インデックスの作成ってコストが高そうだけど
SENファイル作るのほとんど一瞬ですね
suge-
SENファイル作るのほとんど一瞬ですね
suge-
140nobodyさん
2007/08/10(金) 04:03:10ID:??? ブラジル版のMySQLバインディングでは、 ALTER TABLE/CREATE INDEX/DROP INDEXなどを発行すると、既存のフルテキストインデックスに付与された正規化フラグやN-gramフラグが消失してしまうという問題がありました。
よって、複数のN-gramインデックスを作成する場合には、
ALTER TABLE table
ADD FULLTEXT index_name_title USING NGRAM (title),
ADD FULLTEXT index_name_body USING NGRAM (body);
のように、1つのクエリで複数のインデックスを作成しなければなりませんでした。
----
これって前からこんな仕様だったっけ?
全然気にせずインデックス張ってたよ・・・
よって、複数のN-gramインデックスを作成する場合には、
ALTER TABLE table
ADD FULLTEXT index_name_title USING NGRAM (title),
ADD FULLTEXT index_name_body USING NGRAM (body);
のように、1つのクエリで複数のインデックスを作成しなければなりませんでした。
----
これって前からこんな仕様だったっけ?
全然気にせずインデックス張ってたよ・・・
142nobodyさん
2007/09/21(金) 01:32:45ID:??? 自分のサイトに置くつもりで、
Sennaのサイト内検索のCGIをPerlで作ってるんだが・・・
一般公開すると仮定した場合、需要はあるだろうか?
Sennaのサイト内検索のCGIをPerlで作ってるんだが・・・
一般公開すると仮定した場合、需要はあるだろうか?
143142
2007/09/21(金) 01:34:54ID:??? 「一般公開」っていうのは、CGIの配布のことです。
145nobodyさん
2007/09/21(金) 16:53:44ID:??? >>144
一応、現在では、公開するとなればGNU GPLライセンスで公開するつもり・・・。
公開できるところまで進むかが問題だが。
現在、インデックス作成の部分は、HTMLなどなどのファイルからテキストだけを
抜く処理を書けばほぼ完成。File::Extractモジュールとか使えばいいのかな・・・?
検索処理の部分は、スキンファイルっぽい処理を書いて
スニペットの処理を書けばほぼ終わり・・・。
・・・だと思うよ。
一応、現在では、公開するとなればGNU GPLライセンスで公開するつもり・・・。
公開できるところまで進むかが問題だが。
現在、インデックス作成の部分は、HTMLなどなどのファイルからテキストだけを
抜く処理を書けばほぼ完成。File::Extractモジュールとか使えばいいのかな・・・?
検索処理の部分は、スキンファイルっぽい処理を書いて
スニペットの処理を書けばほぼ終わり・・・。
・・・だと思うよ。
146nobodyさん
2007/09/21(金) 23:24:20ID:UjaDTaQF 期待age
147nobodyさん
2007/09/22(土) 00:06:35ID:??? >>146
d
SennaのPerlバインディングの資料が少なくて俺涙目www
Tie::Sennaなんかサンプルスクリプトすらエラーを起こす。
しょうがないのでモジュールのソースを見ながら作る。
一応・・・動くんだけど、どうして動くのか判らない、そんなものができつつあります。
d
SennaのPerlバインディングの資料が少なくて俺涙目www
Tie::Sennaなんかサンプルスクリプトすらエラーを起こす。
しょうがないのでモジュールのソースを見ながら作る。
一応・・・動くんだけど、どうして動くのか判らない、そんなものができつつあります。
148nobodyさん
2007/09/22(土) 00:15:37ID:???149nobodyさん
2007/09/22(土) 17:04:39ID:??? 「max_exprsに、検索クエリに指定する式の最大値を指定します。」
ってどういうこと?「検索クエリの式」は判るけど、「式の値」って何?
ってどういうこと?「検索クエリの式」は判るけど、「式の値」って何?
150nobodyさん
2007/09/22(土) 17:33:09ID:TclPXa4o ググって出てきた
http://www.koders.com/python/fid8CE7DA8C27987E7393CB41EAD4B402A2741A5C1F.aspx?s=max_exprs
を見ると「検索式の最大の数」だそうだが・・・。
じゃぁ、「*D+ nana」でPerlのSenna::Index->query_execを経由してsen_query_execで検索するときに、
0だと検索に失敗し、他の数字(試した数字の例:1,2,3,10,32,50)を指定して検索すると「セグメンテーション違反です」と
怒られるのはどうして?
文字コードの問題と切り分けるべく英数字で検索しても失敗する。何故?
http://www.koders.com/python/fid8CE7DA8C27987E7393CB41EAD4B402A2741A5C1F.aspx?s=max_exprs
を見ると「検索式の最大の数」だそうだが・・・。
じゃぁ、「*D+ nana」でPerlのSenna::Index->query_execを経由してsen_query_execで検索するときに、
0だと検索に失敗し、他の数字(試した数字の例:1,2,3,10,32,50)を指定して検索すると「セグメンテーション違反です」と
怒られるのはどうして?
文字コードの問題と切り分けるべく英数字で検索しても失敗する。何故?
151nobodyさん
2007/09/23(日) 16:01:45ID:Mbqn4OVO >>149-150の問題があるけど
大体できたから
一応アップしてみた。
人柱版ということでよろしく。動作保証ナシ。でも俺の環境では動いた。
http://takatyan.info/sss/Senna_Site_Search-0.01.zip
スクリプトなどのファイルは全部UTF8でエンコードしていますから
対応エディタをお使いください・・・。
大体できたから
一応アップしてみた。
人柱版ということでよろしく。動作保証ナシ。でも俺の環境では動いた。
http://takatyan.info/sss/Senna_Site_Search-0.01.zip
スクリプトなどのファイルは全部UTF8でエンコードしていますから
対応エディタをお使いください・・・。
152nobodyさん
2007/09/23(日) 23:48:13ID:???153nobodyさん
2007/09/24(月) 23:36:00ID:??? >>151
試してみた。
なんかやたらモジュール要求されるな。
Senna の他にこんだけ追加モジュール要求された。
File::Extract
Class::Data::Inheritable
File::MMagic::XS
Spreadsheet::ParseExcel
OLE::Storage_Lite
MP3::Info
CAM::PDF
RTF::Lexer
俺の環境が Perl 5.8.0 と古いせいもあるかもしれんが…
で、なんとか mksss.pl 起動までこぎつけたが
新規 1778個
更新 0個
削除 0個
と出た後
Can't call method "mime_type" on an undefined value at mksss.pl line 156.
でこける…
直前の $e->extract($key); が undef を返してるようなんだが…
試してみた。
なんかやたらモジュール要求されるな。
Senna の他にこんだけ追加モジュール要求された。
File::Extract
Class::Data::Inheritable
File::MMagic::XS
Spreadsheet::ParseExcel
OLE::Storage_Lite
MP3::Info
CAM::PDF
RTF::Lexer
俺の環境が Perl 5.8.0 と古いせいもあるかもしれんが…
で、なんとか mksss.pl 起動までこぎつけたが
新規 1778個
更新 0個
削除 0個
と出た後
Can't call method "mime_type" on an undefined value at mksss.pl line 156.
でこける…
直前の $e->extract($key); が undef を返してるようなんだが…
154nobodyさん
2007/09/25(火) 00:35:24ID:??? >>153
>>151を作ったものです。
モジュールが大量に要る件についてはすみません・・・。俺自身も大量にインスコしました・・・。
えっとですね・・・それらはほとんどFile::Extractが必要とするものです。
File::Extractは、HTMLからテキストだけを抜き出すのに使ってます。
新規1778個っていうのはファイル数ですけど、そのくらいありますか?
そういえば・・・画像ファイルとかを除外する処理をしていませんね。
ですから画像ファイルをインデックスしようとして失敗しているのかも。
$e->extract($key)がundefを返したらスキップするのがいいかもしれません。
そもそもHTMLファイルだけの環境でしかテストしてませんでした・・・
$e->extract($key)がundefを返したらスキップするには、
$e->extract($key)
を
$e->extract($key) || return;
に直すといいかもしれません。
明日にでも画像ファイルなどが混在した状況でテストしなおしてみます・・・。
>>151を作ったものです。
モジュールが大量に要る件についてはすみません・・・。俺自身も大量にインスコしました・・・。
えっとですね・・・それらはほとんどFile::Extractが必要とするものです。
File::Extractは、HTMLからテキストだけを抜き出すのに使ってます。
新規1778個っていうのはファイル数ですけど、そのくらいありますか?
そういえば・・・画像ファイルとかを除外する処理をしていませんね。
ですから画像ファイルをインデックスしようとして失敗しているのかも。
$e->extract($key)がundefを返したらスキップするのがいいかもしれません。
そもそもHTMLファイルだけの環境でしかテストしてませんでした・・・
$e->extract($key)がundefを返したらスキップするには、
$e->extract($key)
を
$e->extract($key) || return;
に直すといいかもしれません。
明日にでも画像ファイルなどが混在した状況でテストしなおしてみます・・・。
155153
2007/09/25(火) 00:47:13ID:??? >>154
ども。
検索対象にしようとしたのは某 2ch 過去ログサイトで、
新規1778個っていうのはほとんど 2ch の過去ログです。
とはいえ関係ない種類のファイルも若干混じっているので
試しに明らかに HTML しか含んでいないディレクトリ指定してやってみても
新規 67個
更新 0個
削除 0個
Can't call method "mime_type" on an undefined value at mksss.pl line 156.
てな感じでした…
この67個は全部 DAT2HTML で HTML 化した 2ch の過去ログです。
漏れももう少し探ってみます…
ども。
検索対象にしようとしたのは某 2ch 過去ログサイトで、
新規1778個っていうのはほとんど 2ch の過去ログです。
とはいえ関係ない種類のファイルも若干混じっているので
試しに明らかに HTML しか含んでいないディレクトリ指定してやってみても
新規 67個
更新 0個
削除 0個
Can't call method "mime_type" on an undefined value at mksss.pl line 156.
てな感じでした…
この67個は全部 DAT2HTML で HTML 化した 2ch の過去ログです。
漏れももう少し探ってみます…
156nobodyさん
2007/09/25(火) 00:54:55ID:??? >>155
mksss.plの89〜92行目ぐらいの
&update($index,$constants_code{$index->encoding()},\%StorageDB,\%ModifiedDB,\%TitleDB,$_);
と
print "新規: $i / @{[$#new + 1]} $_ \n";
を入れ替えて実行すると、どのファイルが問題なのか判るかと思います。
mksss.plの89〜92行目ぐらいの
&update($index,$constants_code{$index->encoding()},\%StorageDB,\%ModifiedDB,\%TitleDB,$_);
と
print "新規: $i / @{[$#new + 1]} $_ \n";
を入れ替えて実行すると、どのファイルが問題なのか判るかと思います。
158153
2007/09/25(火) 02:01:50ID:??? あーうちの環境依存の問題かな…
どんな HTML 食わせても File::Extract が undef 返すっぽいわ…
どんな HTML 食わせても File::Extract が undef 返すっぽいわ…
159153
2007/09/25(火) 13:05:25ID:??? Perl 5.8.0 環境で動かすのは諦めておとなしく Perl 5.8.8 で動かすことにしたらすんなり先に進んだよ。
で、やたら文字化けするから変だと思ったら、
$main::IndexConvert を 1 に変えておかないとダメなのね。
それでもやっぱりスニペットが文字化けしまくるし
その関係か日本語でほとんどヒットしない。
で、さらに調べたところ、
File::Extract::Result->text() は
元の HTML の文字コードにかかわらず UTF-8 バイト列を返すっぽい (たまに UTF-8 文字列を返すこともある) ので、
164行目の
Encode::from_to($buf,$guess, $encoding) if($main::IndexConvert); は
Encode::from_to($buf, 'utf8', $encoding) if($main::IndexConvert); にしないとダメぽ。
ほか俺が使う時にデフォルト設定から変えた部分↓
$main::Indexcode = SEN_ENC_EUCJP; (MeCab に合わせて)
$main::Indexflags = SEN_INDEX_NORMALIZE; (正規化する、N-gram 使わない)
@main::GuessCode = qw/cp932 euc-jp utf8 7bit-jis/; (shiftjis より cp932 の方が無難かな)
$main::SkinDir = 'skinfiles/'; (パッケージ展開した直後の状態に合わせて)
で、文字化け問題は大方解決したんだが、
多数ヒットするキーワードで検索すると
Out of Memory というエラーメッセージが出て結果が出ないことがある。
それから Readme にも書いてあるけど TITLE とか H1, H2 とか A とかに重み付けしたスコアリングは欲しいね。
で、やたら文字化けするから変だと思ったら、
$main::IndexConvert を 1 に変えておかないとダメなのね。
それでもやっぱりスニペットが文字化けしまくるし
その関係か日本語でほとんどヒットしない。
で、さらに調べたところ、
File::Extract::Result->text() は
元の HTML の文字コードにかかわらず UTF-8 バイト列を返すっぽい (たまに UTF-8 文字列を返すこともある) ので、
164行目の
Encode::from_to($buf,$guess, $encoding) if($main::IndexConvert); は
Encode::from_to($buf, 'utf8', $encoding) if($main::IndexConvert); にしないとダメぽ。
ほか俺が使う時にデフォルト設定から変えた部分↓
$main::Indexcode = SEN_ENC_EUCJP; (MeCab に合わせて)
$main::Indexflags = SEN_INDEX_NORMALIZE; (正規化する、N-gram 使わない)
@main::GuessCode = qw/cp932 euc-jp utf8 7bit-jis/; (shiftjis より cp932 の方が無難かな)
$main::SkinDir = 'skinfiles/'; (パッケージ展開した直後の状態に合わせて)
で、文字化け問題は大方解決したんだが、
多数ヒットするキーワードで検索すると
Out of Memory というエラーメッセージが出て結果が出ないことがある。
それから Readme にも書いてあるけど TITLE とか H1, H2 とか A とかに重み付けしたスコアリングは欲しいね。
160nobodyさん
2007/09/25(火) 18:02:17ID:??? >>157-159
これはこれはありがとうございます。
File::Extractはコントラクタにオプションを渡すと文字コードの変換をやってくれるらしいので、
それに任せることにして、mksss.pl自体での本文の変換はしないことにします・・・。
重み付けをやるには、前述のSenna::Valuesクラスを使ってのインデックス化と検索ができれば
Senna側としては可能です。
あとは、そのためのHTMLを解釈する部分が作れればよいのですが・・・。
File::Extractじゃ無理っぽいね。自前で書くしかないかなぁ。
これはこれはありがとうございます。
File::Extractはコントラクタにオプションを渡すと文字コードの変換をやってくれるらしいので、
それに任せることにして、mksss.pl自体での本文の変換はしないことにします・・・。
重み付けをやるには、前述のSenna::Valuesクラスを使ってのインデックス化と検索ができれば
Senna側としては可能です。
あとは、そのためのHTMLを解釈する部分が作れればよいのですが・・・。
File::Extractじゃ無理っぽいね。自前で書くしかないかなぁ。
161nobodyさん
2007/09/30(日) 22:59:18ID:7soZ8WBh Senna 1.0.9 age
162nobodyさん
2007/10/02(火) 22:03:25ID:??? >>149
遅レスだけど、max_exprsはクエリで列挙できるキーワードの数の最大値ってことだよ。例えば、
"+ああん -いやん +ばかん -うふん"
だと4つのキーワードがそれぞれの演算子と共に評価されるけど、max_exprsを超える数については無視される。
Tritonnだとmax_exprs=32固定なので、一度に指定できるのは32個までという仕様になってる。
遅レスだけど、max_exprsはクエリで列挙できるキーワードの数の最大値ってことだよ。例えば、
"+ああん -いやん +ばかん -うふん"
だと4つのキーワードがそれぞれの演算子と共に評価されるけど、max_exprsを超える数については無視される。
Tritonnだとmax_exprs=32固定なので、一度に指定できるのは32個までという仕様になってる。
163nobodyさん
2007/10/20(土) 03:01:54ID:??? sennaのインストールや使用方法がウンコするくらい簡単になったら
お金出してでも導入する。
今のように難しくて面倒くさいうちは、LIKE%%検索で乗り切る。
お金出してでも導入する。
今のように難しくて面倒くさいうちは、LIKE%%検索で乗り切る。
164nobodyさん
2007/10/21(日) 09:18:15ID:??? likeで乗り切れるくらいならsennaいらないだろう
全文検索入れるか、まったく入れないかの選択になる
ってか、mysqlのバージョンが進めば、標準でマルチバイトの全文検索に対応するかな?
全文検索入れるか、まったく入れないかの選択になる
ってか、mysqlのバージョンが進めば、標準でマルチバイトの全文検索に対応するかな?
165nobodyさん
2007/10/21(日) 20:02:03ID:??? ところで Senna っていうと MySQL で使う話ばっかり出てくる気がするんだが
Ludia 使ってる香具師おらんの?
Ludia 使ってる香具師おらんの?
166nobodyさん
2007/11/14(水) 10:26:02ID:??? トリdってRPMで入れられるんだね
大分前にソースからパッチ当てて入れた時にはかなり大変だったけど
ありがたいねえdd
大分前にソースからパッチ当てて入れた時にはかなり大変だったけど
ありがたいねえdd
167nobodyさん
2007/11/22(木) 13:00:07ID:t/zyhRCZ RPMのトリトン入れました
辞書をEUC-JPとして再構成したいのですが
/usr/libexec/mecab/mecab-dict-index -d /usr/lib/mecab/dic/ipadic/ -f utf-8 -o /usr/lib/mecab/dic/ipadic1/ -c euc-jp
とすると
/usr/lib/mecab/dic/ipadic/char.def is not found. minimum setting is used
/usr/lib/mecab/dic/ipadic/unk.def is not found. minimum setting is used.
/usr/lib/mecab/dic/ipadic/unk.def is not found. minimum setting is used.
reading /usr/lib/mecab/dic/ipadic/unk.def ... 2
emitting double-array: 100% |###########################################|
dictionary_compiler.cpp(117) [dic.size()] no dictionaries are specified
と言われてしまいます。
ipadic1の中を見ると
char.bin unk.dic
だけしかありません。
どうすればうまく辞書の再構成ができますか?
辞書をEUC-JPとして再構成したいのですが
/usr/libexec/mecab/mecab-dict-index -d /usr/lib/mecab/dic/ipadic/ -f utf-8 -o /usr/lib/mecab/dic/ipadic1/ -c euc-jp
とすると
/usr/lib/mecab/dic/ipadic/char.def is not found. minimum setting is used
/usr/lib/mecab/dic/ipadic/unk.def is not found. minimum setting is used.
/usr/lib/mecab/dic/ipadic/unk.def is not found. minimum setting is used.
reading /usr/lib/mecab/dic/ipadic/unk.def ... 2
emitting double-array: 100% |###########################################|
dictionary_compiler.cpp(117) [dic.size()] no dictionaries are specified
と言われてしまいます。
ipadic1の中を見ると
char.bin unk.dic
だけしかありません。
どうすればうまく辞書の再構成ができますか?
168nobodyさん
2007/11/23(金) 12:42:00ID:???169 ◆e5sgKA2q7.
2007/12/02(日) 20:38:21ID:h6hdy91g >>168
住商情報システムが売ってるんじゃないの?
住商情報システムが売ってるんじゃないの?
170nobodyさん
2007/12/02(日) 21:19:21ID:???171nobodyさん
2008/01/25(金) 12:13:30ID:??? Sunに買収されたことだし、ネイティブで日本語全文検索に対応してほしいね。
もちろん無償バージョンでも。
もちろん無償バージョンでも。
172nobodyさん
2008/02/08(金) 17:53:36ID:??? Perlバインディングがぜんぜん動かないので
買ったはいいがPerlから乗り換える気も起きずしまいこんでいた、Rubyの入門書を
引っ張り出してきてRubyバインディングを触ってみたらこれが
簡単に動く。
あのPerlバインディングどうなってるの・・・。
買ったはいいがPerlから乗り換える気も起きずしまいこんでいた、Rubyの入門書を
引っ張り出してきてRubyバインディングを触ってみたらこれが
簡単に動く。
あのPerlバインディングどうなってるの・・・。
174nobodyさん
2008/03/03(月) 04:05:35ID:KobAduJV tritonnにmysql_configって入ってないですか?
phpでmysqliを使えるようにするために必要みたいなのですが・・・
phpでmysqliを使えるようにするために必要みたいなのですが・・・
175nobodyさん
2008/03/03(月) 17:40:25ID:??? tarボールの中に入ってたのでコピーしたらできました
176nobodyさん
2008/03/04(火) 01:26:37ID:??? >>175
それはまずいんじゃ…?
mysql_config って私の認識では MySQL のインストール情報を
記録しておく (いつでも表示できるような) ミニアプリなので、
手順を踏んでインストールしないと意味がないもののような気がする。
パッケージ管理システムを採用しているような Linux ディストリビューションなら、
mysql-devel とか mysql-dev みたいな名前のパッケージを導入するのがいいのではないかな。
それはまずいんじゃ…?
mysql_config って私の認識では MySQL のインストール情報を
記録しておく (いつでも表示できるような) ミニアプリなので、
手順を踏んでインストールしないと意味がないもののような気がする。
パッケージ管理システムを採用しているような Linux ディストリビューションなら、
mysql-devel とか mysql-dev みたいな名前のパッケージを導入するのがいいのではないかな。
178nobodyさん
2008/03/04(火) 18:06:39ID:??? たしかmysql-dev相当のがなんかしらんけどインストールされなかったよね
-configもそのひとつだったとおもう
specを調整しないといけなかったような
-configもそのひとつだったとおもう
specを調整しないといけなかったような
179nobodyさん
2008/03/26(水) 23:50:01ID:??? 2chのスレのdatファイルをgz圧縮して格納しているんだが、
これをSennaで検索できるようにしたい。
インデックスを作るだけなら単に解凍してインデックスすればいいから
いいけど、
問題はスニペット。
検索結果を20件ずつ分けて表示するとしても、
検索結果を表示するたびに20個のgz圧縮datを解凍して
スニペットを作るというのは解凍が無駄なような気がする。
どうしたものか・・・。
スニペットを消すというのも手と言えば手だが思考停止に他ならないような気がする。
そうすると、解凍したdatをキャッシュするとかですかね・・・。
ちなみに現在の格納数は2818個です。
この2818個が196052KB(圧縮したサイズ)、
今後70GB程度まで格納を続けるつもりです。
196052KBの70GBに占める割合は0.2%ぐらいです。
これをSennaで検索できるようにしたい。
インデックスを作るだけなら単に解凍してインデックスすればいいから
いいけど、
問題はスニペット。
検索結果を20件ずつ分けて表示するとしても、
検索結果を表示するたびに20個のgz圧縮datを解凍して
スニペットを作るというのは解凍が無駄なような気がする。
どうしたものか・・・。
スニペットを消すというのも手と言えば手だが思考停止に他ならないような気がする。
そうすると、解凍したdatをキャッシュするとかですかね・・・。
ちなみに現在の格納数は2818個です。
この2818個が196052KB(圧縮したサイズ)、
今後70GB程度まで格納を続けるつもりです。
196052KBの70GBに占める割合は0.2%ぐらいです。
180nobodyさん
2008/03/28(金) 23:39:28ID:??? 解凍したものをポスグレとかMySQLに突っ込むのはダメなの?
ポスグレの場合は、大きいレコードは勝手に圧縮されるはずだから、
容量もあまり食わないし、キャッシュとかもしてくれると思う。
MySQLもそうなんじゃない?知らないけど。
ポスグレの場合は、大きいレコードは勝手に圧縮されるはずだから、
容量もあまり食わないし、キャッシュとかもしてくれると思う。
MySQLもそうなんじゃない?知らないけど。
181nobodyさん
2008/03/30(日) 23:18:18ID:??? >>180
レスありがとうございます。
データベースですか・・・
一応MySQLを使っていますがまだ勉強途中で圧縮されるかどうかは知らないです。
解凍したものをキャッシュするとすればそれが最適ですかね・・・
判りました、ありがとうございました。
レスありがとうございます。
データベースですか・・・
一応MySQLを使っていますがまだ勉強途中で圧縮されるかどうかは知らないです。
解凍したものをキャッシュするとすればそれが最適ですかね・・・
判りました、ありがとうございました。
182nobodyさん
2008/03/31(月) 03:05:19ID:??? MySQLは自動圧縮はないと思う。
レスを投稿する
ニュース
- 【W杯】王者アルゼンチンが延長弾で準決勝進出、4強はすべてW杯優勝経験国に! スイスはエースが“ダイブ”退場で号泣 [阿弥陀ヶ峰★]
- 「赤の他人ですよね?」天皇陛下と旧宮家「36親等隔たり」にSNS驚き…著名人も続々反応 ★2 [煮卵★]
- 「赤の他人ですよね?」天皇陛下と旧宮家「36親等隔たり」にSNS驚き…著名人も続々反応 ★3 [煮卵★]
- 【W杯】「退場!?まじで!」スイス痛恨レッドに騒然 同点ゴール直後…VARで完全ダイブ判明「痛すぎる…」 [首都圏の虎★]
- 【速報】 イラン、ホルムズ海峡の閉鎖を宣言 あらゆる全船舶の通航認めず [お断り★]
- 「相手役に恵まれすぎてた」「つぅーーーーせつに実感している」佐藤二朗、2度の楽屋訪問から2週間後に発信し削除した投稿が物議★8 [Ailuropoda melanoleuca★]
- すげー明るい音楽できた
- 安倍元首相銃撃事件、山上被告の母が語った心境「信仰心がより強くなった」😲 [521921834]
- 【FIFAワールドカップ2026】つづきアルゼンチン×スイスDAZN [226731781]
- 【高市疑問】スーパーの野菜って割とカビてるけど普通に売れてるよな [695089791]
- 【悲報】高市早苗「安倍さん見てて!まだまだ挑戦しまぁす!」追悼集会で決意表明 [834922174]
- 高市早苗「陳述書出します」→それすら嘘だった [931948549]