組み込み型全文検索エンジンSenna (274レス)
上下前次1-新
1(1): うんこ船長 2005/06/15(水)00:14 ID:nYzPplAZ(1/4) AAS
ないようなので立ててみました。
外部リンク:dev.razil.jp
194: 2008/10/11(土)17:14 ID:??? AAS
>>193
インデックスのロックかかってるみたいね。
mysqldを落としてmyisamchk -rをすれば直るはず。
稼動中のデッドロックの問題は反映されてるけど、
途中でお亡くなりになった場合にはロックがかかりっぱになることがある。
195(2): 2008/12/05(金)13:31 ID:??? AAS
FULLTEXTで使われる、()"' 等を含んだ語や、頭に+-~のついた語を検索したい場合
どのようにエスケープするべきでしょうか?
検索は下記のように行っています。
〜WHERE match (myText) AGAINST("*E-4D+ ABC" IN BOOLEAN MODE)
196(1): 2008/12/05(金)13:41 ID:??? AAS
>>195
\(とか\)とか\"とか\'とか、
"+test"とか"-word"とか、
できた記憶が。
197: 195 2008/12/05(金)21:59 ID:??? AAS
>>196
早速有難う御座います。
この方法で試してみたいと思います。
198: 2009/01/07(水)03:26 ID:??? AAS
明けましておめでとうございます
今年もよろしくです>Senna&Tritonn
199: 2009/01/09(金)19:32 ID:??? AAS
あめおめ書きこみキタコレ
今年はSennaの次期バージョンが出ますよー。名前も変わるお
200: 2009/01/09(金)22:57 ID:??? AAS
今日FreeBSDのportsにtoriton当てようとして失敗した私が通りますよっと
バージョンアップ早すぎだって
201(1): 2009/02/22(日)20:36 ID:??? AAS
グルーンガってamazonのsimpleDBとかっぽい感じかなー
202: 2009/02/22(日)23:34 ID:??? AAS
>>201
MonetDB的な感じでー。いちおうデータ保存についてはブログ書いてみた。
203: 2009/02/26(木)14:03 ID:5H0gEPaO(1) AAS
ブラジル社員乙
204: 2009/02/26(木)16:05 ID:??? AAS
find.2ch.netみたいに2chのログを検索出来るようにするには、どうすればいいのだろうか
205(2): 2009/03/03(火)04:25 ID:??? AAS
〜WHERE match(myText) AGAINST("+あああ -いいい" IN BOOLEAN MODE)
いける
〜WHERE match(myText) AGAINST("-いいい" IN BOOLEAN MODE)
駄目・・・
NOTのみの検索ってどうしたらいいんでしょか?
206(1): 2009/03/09(月)06:50 ID:??? AAS
>>205
Senna dev メーリングリスト 2008年1月 保存書庫
外部リンク[html]:lists.sourceforge.jp
上記に「NOT検索のみを行うとAND検索になってしまう件について」というのがあるので
見てもらうと判るんだが、お望みのよう検索をするには
WHERE NOT match(myText) AGAINST("いいい" IN BOOLEAN MODE)
とMATCH句を否定すればよい。
省3
207: 205 2009/03/12(木)03:17 ID:??? AAS
>>206
ありがとうございます 出来ました!
MLで
>クエリを発行する用途
について書かれていたのですが、
私の場合(Senna導入以前からの実装を引きずってますが)一旦
大分類・小分類・期日指定 で全文検索を用いずにある程度データを絞ります
省4
208: 2009/04/30(木)02:23 ID:5kl3TBKx(1/2) AAS
amazon EC2上の Ubuntu8.04 にtritonnをインストールしようとしているのだが、
ソースをmake install した後、mysql_install_dbをするといつまでたっても終わらん。
普通このコマンドってどれくらいの時間で終わるんだ?
mysql自体ソースから入れたことないからわからんのだ・・
ちなみに以下の手順でやった
*mecabをインストール
#apt-get install mecab
省8
209: 2009/04/30(木)02:25 ID:5kl3TBKx(2/2) AAS
(続き)
*Sennaをビルドする
#apt-get install build-essential
senna を解凍したフォルダで
#wget 外部リンク[gz]:osdn.dl.sourceforge.jp
#tar xvzf senna-1.1.4.tar.gz
#cd senna-1.1.4
省19
210(1): 2009/04/30(木)15:09 ID:??? AAS
$ time mysql_insert_db
read 0m0.594s
user 0m0.180s
sys 0m0.260s
ローカルでやってみたよ
人柱乙m9(^Д^)
211: 208-209 2009/04/30(木)15:32 ID:A/wdozZu(1) AAS
>>210
orz...
6時間待っても終わらなかった・・・
212: 2009/04/30(木)23:12 ID:??? AAS
むー、Amazon EC2ためしにやってみようかしら。
213: 208-209 2009/05/01(金)12:40 ID:AyTUx5sf(1) AAS
今度はamazon公式イメージのfedora8でやって、rpmで入れたらすんなりはいった。
よくわからないubuntuイメージを使ったのがいけなかったのか?
214(9): 2009/05/29(金)15:10 ID:QSnA4b1n(1) AAS
sanna+mecab+mysqlでためしてますが、検索結果がおかしい…
windowsだと200件ヒットするのにwinだと10件しかヒットしないんですけど何が原因ですか?
"win" in boolean mode
や
ft_min_word_len=1
など設定して再ビルドしましたがうまくいきません。
215(1): 2009/05/29(金)15:37 ID:??? AAS
グニャラくんのブログをしっかり読めばわかる
要するに検索漏れ
216: 2009/05/29(金)21:08 ID:??? AAS
>>214-215
漏れじゃないお!
SPLIT_ALPHA的なフラグを指定するといいです。
winのようなprefixだったら、
"*E-7 win"とかでもひっかかるかな。
ft_min_word_lenとかはSennaには全く影響がないので注意。
217: 2009/05/29(金)21:09 ID:??? AAS
これかー!
外部リンク:d.hatena.ne.jp
218(2): 214 2009/05/31(日)16:10 ID:??? AAS
お礼遅れて申し訳ないです。
*E−7で解決できました。
多くの回答いただき感謝します。
ps
wikipediaデータで実験してますが流石に全文検索は5分くらいかかりますねorz..
219: 2009/06/02(火)10:32 ID:??? AAS
>>218
5分って遅すぎ!
メモリか論理空間足りなくてスラッシングが起こってるんじゃね?
220(1): 214 2009/06/02(火)13:56 ID:??? AAS
遅いですか?(ということはもっと早くなる!?)
メモリは2GでWikipediaデータは5Gぐらいです
まだチューニングをあまりしていないのでちょっといじって見ます
221(2): 2009/06/04(木)03:16 ID:??? AAS
>>220
0.何秒で検索できるはず。
Wikipediaデータが5Gくらいあるなら、メモリも5Gくらいないと厳しいよー。
んで、メモリ5G積むためには、OSも64bit化しないと。
222: 214 [age] 2009/06/04(木)13:49 ID:??? AAS
>>221
ありがとうございます。
遅いのはやはりサーバスペックの問題ですね…発注してきます
度々で申し訳ないのですが、全文検索で「完全一致→非わかち書き→部分一致」の順で取り出したいのですがうまくいきません。
select title from searchindex where match(title) against('*E1,5 Google' in boolean mode) limit 10\G
*E1,5*D+などのプラグマもためしてみましたがだめでした。
show senna statusは以下のような感じです。
省20
223(1): 214 [age] 2009/06/04(木)14:37 ID:??? AAS
どううまくいかないのかを書き忘れましたorz…
完全一致が1番目にこないです。
---------------------
Top_10_Google_hits
Google_マップ
Google_Earth
Google←これが1番にきてほしい
省2
224(1): 2009/06/04(木)19:15 ID:??? AAS
>>223
それは検索スコアの問題だから難しいす。
僕が作っている実システムでは、
・タイトル完全一致のみで検索(Sennaのインデックスを使わずに、MySQLのB-Treeインデックスを作る)
・全文検索
を分けて2回クエリ投げています。
225(1): 2009/06/05(金)12:38 ID:??? AAS
>>221
>Wikipediaデータが5Gくらいあるなら、メモリも5Gくらいないと厳しいよー。
DBを基礎から勉強し直せ
226(1): 2009/06/05(金)13:37 ID:??? AAS
デフォルトではスコア順にソートされないです。こんな風に書くとどうですかねぇ。。
select title, match(title) against('*E1,5 Google' in boolean mode) as score
from searchindex where match(title) against('*E1,5 Google' in boolean mode)
order by score desc limit 10\G
227(1): 214 [age] 2009/06/05(金)14:23 ID:??? AAS
みなさまありがとうございます。
>>224さん
いろいろ調べてみましたがそのやり方しかないのかもしれません…
公式ではEプラグマで実現できそうなのですが…
>>226さん
*E数値1[,数値2]プラグマもためしたのですが公式に記載されている挙動をしていないようです。
公式の説明ではE1,5で全文一致が1つ以下なら5つスコアを下げて部分一致をとる挙動になると思うのですが完全一致も部分一致も同じスコア値になっています。
省9
228(2): 2009/06/06(土)00:33 ID:??? AAS
>>225
全部キャッシュに載ってないと厳しいよ。
SSDならなんとかなるかもしれないけど。
229: 2009/06/06(土)00:37 ID:??? AAS
>>227
Top_10_Google_hitsは前方一致でひっかかってるよ。
_は記号扱いなので、
Top 10 Google hitsと同じような感じでひっかかります。
230(2): 2009/06/06(土)11:26 ID:??? AAS
>>228
これって全部キャッシュにのってないと
0.何秒が5分になるような検索エンジンなのかよw
少なくともインデックスがオンメモリであれば十分速度は出るんじゃないのか?
231(2): 2009/06/06(土)15:53 ID:??? AAS
>>228
お前がDB利用経験ないのはよくわかったからまず基礎を学んでから来い、な?
232: 2009/06/06(土)18:54 ID:??? AAS
>>230
5Gのコンテンツだと、経験上インデックスサイズがだいたい5Gになるんすよ。
というわけで、いつも目安としてコンテンツサイズ分はメモリとって、と言っています。
コンテンツがテストデータだったりして、同じ文言ばっかりだとコンテンツデータに比例してサイズ増えねっす。
インデックスを全部オンメモリに載せないと速度は出ないと思う。
インデックスファイルのうち、.lと.iはメモリに載っていてほしい。
i.cはメモリに載ってなくてOK。
省3
233(2): 2009/06/06(土)21:56 ID:??? AAS
5G5分って16.7MBpsだぞ、シーケンシャルアクセス以下だ。インデックスが使われてない状態だろうが。
>インデックスを全部オンメモリに載せないと速度は出ないと思う。
>スラッシング起きたら、どのエンジンでも速度でないよー。
「最高のパフォーマンス」と「まともな速度」の区別もつかないDQNなのかよ
>>>231
>基礎から学んでくるお!いいサイト教えて。
つGoogle
234: 2009/06/07(日)01:20 ID:??? AAS
>>233
>シーケンシャルアクセス以下だ
おお、論点理解。確かにそうだねー。
235(1): 2009/06/07(日)01:41 ID:??? AAS
>>233
インデックスは使われていると思うよ。
実際*E-7のプラグマも動いているし、Sennaまで処理が落ちているのは間違いない。
.SEN/.SEN.lは激しくランダムアクセスが走るので、
こいつらがオンメモリにないと単なるシーケンシャルスキャンより遅くなってもおかしくないな。
というわけで、>>214はMySQLのデータディレクトリにある.SEN、.SEN.lファイルの容量を計算する。
あと、外部リンク[html]:dsas.blog.klab.org にあるmymemcheckで、min_memory_neededを計算する。
省2
236: 2009/06/08(月)05:55 ID:??? AAS
>.SEN/.SEN.lは激しくランダムアクセスが走るので、
>こいつらがオンメモリにないと単なるシーケンシャルスキャンより遅くなってもおかしくないな。
オンメモリでないとシーケンシャルより遅くなるって、そんなのインデックスとは呼べないだろ
237: 2009/06/08(月)19:39 ID:??? AAS
インデックスをメモリに載るようにするのってDBの常識じゃないの?
238(1): 2009/06/09(火)19:32 ID:??? AAS
最高のパフォーマンスとまともなパフォーマンスの区別もつかない奴が常識を語る時代なのか…
239: 2009/06/10(水)01:58 ID:??? AAS
>>238
最高のパフォーマンス: インデックスも実データもメモリ上
まともなパフォーマンス: インデックスはメモリ上、実データはメモリ外
パフォーマンスでない: インデックスがメモリ外で、スラッシング起こしている
だろ。
B-treeインデックスもmmapにしろOSのキャッシュにしろ実メモリ上にないと遅いと思うぞ。
>>238はDBに大変詳しいようだから、>>214に何かアドバイスするといいのでは?
240: 2009/06/10(水)09:03 ID:??? AAS
パフォーマンスでない場合って検索に5分かかって当然なの?
241: 2009/06/13(土)14:03 ID:??? AAS
仮にインデックスがメモリに乗らなかったとして、それで5分はないだろ。何か間違ってるとしか。
もしスラッシングが起きてるならメモリの割り当て量間違ってるってことだし。
242(4): 2009/06/19(金)08:14 ID:??? AAS
とりあえず Wikipedia のデータ全文投入してインデックス作ってみたよ。
■データサイズ
37822464 2009-06-19 01:03 wiki.001.SEN
387616768 2009-06-19 01:03 wiki.001.SEN.i
1073614848 2009-06-19 01:03 wiki.001.SEN.i.c
1073741824 2009-06-19 01:03 wiki.001.SEN.i.c.001
247463936 2009-06-19 01:02 wiki.001.SEN.i.c.002
省15
243(1): 2009/06/19(金)08:44 ID:??? AAS
おっと書きかけで送信してしまった
■検索にかかる時間 … 「wiki」や「space」等1万件以上ヒットする単語で検索
SELECT * FROM wiki WHERE MATCH(text) AGAINST(?) LIMIT 10
→初回0.2秒、2回目以降2ミリ秒
SELECT * FROM wiki WHERE MATCH(text) AGAINST(?) LIMIT 10000
→初回40〜60秒程度、2回目以降1.5秒程度
■環境
省8
244: 2009/06/19(金)09:01 ID:??? AAS
>>242-243
それか!全件結果を返すのはそりゃ重い。
.SENと.SEN.lがオンメモリなら十分速度出ると思うよー!
この2つの一部がページアウトしてるとマジキツいっす。
2回目以降異常に早いのはクエリキャッシュが効いてそう。
/* SQL_NO_CACHE */を入れてみると本来の2回目以降の速度が計れるんじゃないかな。
245: 242 2009/06/20(土)05:04 ID:??? AAS
測定基準整理して計り直してみた。
OS 起動直後、インデックスがキャッシュに一切載っていない状態で
「wiki」で検索 (1万件以上ヒットする) し、応答時間を測定。
1回目
LIMIT 10: 0.643秒
LIMIT 100: 1.129秒
LIMIT 1000: 5.787秒
省12
246: 242 2009/06/20(土)05:06 ID:??? AAS
搭載メモリ 2GB だったのを 512MB に減らした状態でも測定してみた。
SEN と SEN.l の合計が 800MB 強なので、明らかに物理メモリよりインデックスの方が大きい状態。
1回目
LIMIT 10: 0.634秒
LIMIT 100: 1.104秒
LIMIT 1000: 5.787秒
LIMIT 10000: 50.292秒
省12
247: 242 2009/06/20(土)05:18 ID:??? AAS
メモリ 512MB 環境下で LIMIT 10000 の時のみ
2回目の数値が極端に悪くなって1回目と大差なくなっているのは、
1回目検索時に読み込まれたデータが多すぎてキャッシュから溢れたためだろう。
実運用では同じ検索語が連続してくることなど希だから
このキャッシュミス状態はかなり起きやすくなるはず。
なのでインデックスは全部オンメモリであることが強く望ましいのは間違いない。
が、だからといって
省14
248: 2009/06/22(月)01:12 ID:??? AAS
64ビットOSにしてメモリ5Gは積まないととか言ってた奴はどこ行ったの?
249: 2009/08/03(月)13:00 ID:??? AAS
通常のMysqlで動作が遅かったため
tritonn-1.0.12-mysql-5.0.67-win32.zip
をインストールしてみたのですが、
何分かInsert Selectを連続して行っているとDBが落ちてしまい
MySQLAdministratorから「Can't crete a new thread errno12」とでて
ログインできなくなったり、
できてもスキーマやテーブル一覧が取得できなくなります。
省9
250(1): 2009/08/17(月)16:21 ID:ha4chuFj(1) AAS
人いない
sennachkドキュメントないんだけどこれ使えるの?
251(1): 2009/08/17(月)17:48 ID:??? AAS
>>250
まあ今時こんな性能が悪いものは、みんあ使わんってことだ
252: 2009/08/17(月)22:15 ID:a7sy8cob(1) AAS
>>251 さんのオヌヌメ教えて!
253: 2009/09/05(土)21:32 ID:4Qwo+WsH(1) AAS
mecabの辞書がUTF-8になってるから、
sjisのdbでは使えないと思ってたんだけど
やってみたら使えてるみたい。
ngramインデックスの場合、mecabの辞書に気を遣う必要ないという認識でOKですか?
254: 2009/09/05(土)23:48 ID:??? AAS
そりゃngramインデックスならmecab関係ないだろ。
mecabなしでも使えるわけだし。
255: 2010/03/06(土)02:05 ID:??? AAS
test
256: 2010/03/25(木)03:31 ID:txB00Cpn(1) AAS
あれ、半年もレスなかったのか・・・
なにか他にいいのが出てるの?
アゲてみる、ごめん
257: 2010/04/04(日)09:24 ID:f5hMLlFL(1) AAS
tritonn使ってみようかと思ってるんですが、
将来的にDBをマシン間で引越しするとき、MyISAMは単純にファイルコピーだけ、
ダンプ→インポートしなくても引越しできるようですが、付加されたsenna関連である
sen.*についても単純にファイルコピーだけでOKなんでしょうか。
258: 2010/04/07(水)02:19 ID:nn78rN3+(1) AAS
どんな挙動するのかは知らないけど
センファイルは殲滅しておk
やたらでかいし、バックアップ対象からも外してるよ
インデックス張り直せば勝手に作るし
259: 2010/04/16(金)10:09 ID:dbk/orQU(1) AAS
トリトン使ってるけど
時間によって検索結果に出たり出なかったりする時があるみたい
インデックスへの反映具合を確認する方法があればいいんだけど
260: 2010/05/16(日)02:14 ID:??? AAS
Senna、Lucene、Solrなど
オープンソース系検索エンジンの
性能比較をやってるHPありませんか?
261: 2010/05/16(日)16:24 ID:??? AAS
以前見たような気がするからググれば出てくるんじゃね?
262(1): 2010/05/31(月)10:03 ID:ldCXIDLw(1) AAS
Tritonnの2ind機能を使って、
select * from table force index(counter) where match(title,body) against("*W1,2 てすと" in boolean mode) order by counter desc limit 100,100
という使い方は出来ないのでしょうか?
一応検索結果は得られるのですが、limit 0,100としたのと同じように、必ず先頭からの結果になってしまいます。
force index(counter)を消せば求めている結果になります。
環境はCentOSにsenna1.1.5、Tritonn1.0.12-mysql-5.0.87、
WindowsにはTritonn1.0.12-mysql-5.0.67なのですがどちらも結果は同じです。
263: 2010/06/02(水)00:02 ID:pNSVCSiw(1/3) AAS
1 :名無しさん@どっと混む[]:2009/12/14(月) 20:45:15 ID:unnBMLw10
高根社長のSM趣味サイトMaskRと
副業のSMクラブ銀座プレジス・動画配信専門リアルミストレスばかり語られるが
高根社長の本業コムラッドについても語ろう
銀座プレジス
外部リンク[htm]:www.prezis.jp
MaskR
省15
264: 2010/06/02(水)00:03 ID:pNSVCSiw(2/3) AAS
18 :名無しさん@どっと混む:2010/01/07(木) 09:26:06 ID:5NL2jyJpO
高根はMASKRでレイプ仲間募集するのやめたんだね
mixiで募集中か
21 :名無しさん@どっと混む:2010/01/10(日) 19:36:45 ID:FdRwgXUTO
風俗店やってるってことは高根社長は暴力団と繋がってるんだね
どこの組にいくらみかじめ料払ってるんだかw
23 :名無しさん@どっと混む:2010/01/23(土) 03:43:12 ID:Pdcv8aq0O
省15
265: 2010/06/02(水)00:04 ID:pNSVCSiw(3/3) AAS
AA省
266: 262 2010/06/02(水)08:04 ID:kP3cOHz1(1) AAS
>>262はtritonnの仕様っぽいですね。
これはどうしようも無いことなのかな?
てっきり出来ると思ってたからがっくし。
267: 2011/05/22(日)12:38 ID:gdrY9aId(1) AAS
groonga来てるから話題減ってる気がするけど、あげ。
268: 2011/06/01(水)17:59 ID:??? AAS
limit a,b 指定で b の抽出件数指定は効くんだけど、a がゼロから効かない。
100,10 や 1000, 10 と指定しても、0, 10 と同じ結果。
フルテキストインデックス再構築したけど同じ。
インストした頃はちゃんと表示されたはずなんだが…。
269: 電脳プリオン 忍法帖【Lv=40,xxxPT】(2+0:8) 【31.3m】 2013/02/10(日)00:44 ID:??? AAS
>>1のリンク先が見れない
270: 2017/12/30(土)13:38 ID:YhlYw6jg(1) AAS
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
Z25K5IFYUN
271: 2018/09/11(火)09:17 ID:??? AAS
もう何とかブラジルって会社もないらしいな
272: 2019/02/28(木)10:06 ID:??? AAS
senna作ってた会社ニコニコ動画に買収されたんだっけ?
273: 2020/02/11(火)15:33 ID:??? AAS
チエオクレのハゲの悲惨なツイッター
Twitterリンク:aphonedollar
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
この自称「ハゲ」とかいうチエオクレのブログが酷すぎる
>「DesktopHE」 はWindows10に対応してないらしい
はぁ??? ★★★大嘘デタラメ★★★を垂れ流すな!!!
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
省8
274: 2023/09/29(金)12:01 ID:??? AAS
ウソォ━━━Σ(д゚|||ノ)ノ━━━ン!?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.898s*