組み込み型全文検索エンジンSenna
0223214
垢版 |
2009/06/04(木) 14:37:07ID:???
どううまくいかないのかを書き忘れましたorz…
完全一致が1番目にこないです。
---------------------
Top_10_Google_hits
Google_マップ
Google_Earth
Google←これが1番にきてほしい

--------------------
0224nobodyさん
垢版 |
2009/06/04(木) 19:15:58ID:???
>>223
それは検索スコアの問題だから難しいす。

僕が作っている実システムでは、
・タイトル完全一致のみで検索(Sennaのインデックスを使わずに、MySQLのB-Treeインデックスを作る)
・全文検索
を分けて2回クエリ投げています。
0225nobodyさん
垢版 |
2009/06/05(金) 12:38:21ID:???
>>221
>Wikipediaデータが5Gくらいあるなら、メモリも5Gくらいないと厳しいよー。

DBを基礎から勉強し直せ
0226nobodyさん
垢版 |
2009/06/05(金) 13:37:37ID:???
デフォルトではスコア順にソートされないです。こんな風に書くとどうですかねぇ。。

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
0227214
垢版 |
2009/06/05(金) 14:23:35ID:???
みなさまありがとうございます。
>>224さん
いろいろ調べてみましたがそのやり方しかないのかもしれません…
公式ではEプラグマで実現できそうなのですが…

>>226さん
*E数値1[,数値2]プラグマもためしたのですが公式に記載されている挙動をしていないようです。
公式の説明ではE1,5で全文一致が1つ以下なら5つスコアを下げて部分一致をとる挙動になると思うのですが完全一致も部分一致も同じスコア値になっています。
+--------------------+-------+
| page_title | score |
+--------------------+-------+
| Top_10_Google_hits | 5 |
| Google_Earth | 5 |

| Google | 5 |
+--------------------+-------+
また"Google"で完全一致がとれません。"Google*"でも前方一致以外がとれたり(Top_10_Google_hitsもとれる)します。
0228nobodyさん
垢版 |
2009/06/06(土) 00:33:01ID:???
>>225
全部キャッシュに載ってないと厳しいよ。
SSDならなんとかなるかもしれないけど。
0229nobodyさん
垢版 |
2009/06/06(土) 00:37:56ID:???
>>227
Top_10_Google_hitsは前方一致でひっかかってるよ。
_は記号扱いなので、
Top 10 Google hitsと同じような感じでひっかかります。
0230nobodyさん
垢版 |
2009/06/06(土) 11:26:37ID:???
>>228
これって全部キャッシュにのってないと
0.何秒が5分になるような検索エンジンなのかよw
少なくともインデックスがオンメモリであれば十分速度は出るんじゃないのか?
0231nobodyさん
垢版 |
2009/06/06(土) 15:53:21ID:???
>>228
お前がDB利用経験ないのはよくわかったからまず基礎を学んでから来い、な?
0232nobodyさん
垢版 |
2009/06/06(土) 18:54:01ID:???
>>230
5Gのコンテンツだと、経験上インデックスサイズがだいたい5Gになるんすよ。
というわけで、いつも目安としてコンテンツサイズ分はメモリとって、と言っています。
コンテンツがテストデータだったりして、同じ文言ばっかりだとコンテンツデータに比例してサイズ増えねっす。

インデックスを全部オンメモリに載せないと速度は出ないと思う。
インデックスファイルのうち、.lと.iはメモリに載っていてほしい。
i.cはメモリに載ってなくてOK。
スラッシング起きたら、どのエンジンでも速度でないよー。

>>231
基礎から学んでくるお!いいサイト教えて。
0233nobodyさん
垢版 |
2009/06/06(土) 21:56:23ID:???
5G5分って16.7MBpsだぞ、シーケンシャルアクセス以下だ。インデックスが使われてない状態だろうが。

>インデックスを全部オンメモリに載せないと速度は出ないと思う。
>スラッシング起きたら、どのエンジンでも速度でないよー。

「最高のパフォーマンス」と「まともな速度」の区別もつかないDQNなのかよ

>>231
>基礎から学んでくるお!いいサイト教えて。

つGoogle
0234nobodyさん
垢版 |
2009/06/07(日) 01:20:06ID:???
>>233
>シーケンシャルアクセス以下だ
おお、論点理解。確かにそうだねー。
0235nobodyさん
垢版 |
2009/06/07(日) 01:41:11ID:???
>>233
インデックスは使われていると思うよ。
実際*E-7のプラグマも動いているし、Sennaまで処理が落ちているのは間違いない。
.SEN/.SEN.lは激しくランダムアクセスが走るので、
こいつらがオンメモリにないと単なるシーケンシャルスキャンより遅くなってもおかしくないな。

というわけで、>>214はMySQLのデータディレクトリにある.SEN、.SEN.lファイルの容量を計算する。
あと、http://dsas.blog.klab.org/archives/50860867.html にあるmymemcheckで、min_memory_neededを計算する。
(.SENの総容量 + .SEN.lの総容量 + mymemcheckのmin_memory_needed)が
実メモリサイズを超えていたら危険な香り。
0236nobodyさん
垢版 |
2009/06/08(月) 05:55:39ID:???
>.SEN/.SEN.lは激しくランダムアクセスが走るので、
>こいつらがオンメモリにないと単なるシーケンシャルスキャンより遅くなってもおかしくないな。

オンメモリでないとシーケンシャルより遅くなるって、そんなのインデックスとは呼べないだろ
0237nobodyさん
垢版 |
2009/06/08(月) 19:39:07ID:???
インデックスをメモリに載るようにするのってDBの常識じゃないの?
0238nobodyさん
垢版 |
2009/06/09(火) 19:32:51ID:???
最高のパフォーマンスとまともなパフォーマンスの区別もつかない奴が常識を語る時代なのか…
0239nobodyさん
垢版 |
2009/06/10(水) 01:58:34ID:???
>>238
最高のパフォーマンス: インデックスも実データもメモリ上
まともなパフォーマンス: インデックスはメモリ上、実データはメモリ外
パフォーマンスでない: インデックスがメモリ外で、スラッシング起こしている
だろ。

B-treeインデックスもmmapにしろOSのキャッシュにしろ実メモリ上にないと遅いと思うぞ。
>>238はDBに大変詳しいようだから、>>214に何かアドバイスするといいのでは?
0240nobodyさん
垢版 |
2009/06/10(水) 09:03:42ID:???
パフォーマンスでない場合って検索に5分かかって当然なの?
0241nobodyさん
垢版 |
2009/06/13(土) 14:03:05ID:???
仮にインデックスがメモリに乗らなかったとして、それで5分はないだろ。何か間違ってるとしか。
もしスラッシングが起きてるならメモリの割り当て量間違ってるってことだし。
0242nobodyさん
垢版 |
2009/06/19(金) 08:14:11ID:???
とりあえず 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
801185792 2009-06-19 01:03 wiki.001.SEN.l
4686036956 2009-06-19 01:03 wiki.MYD
15630336 2009-06-19 01:03 wiki.MYI

MYD と MYI の合計が 5G 弱、
SEN と SEN.i と SEN.l の合計が 1.2G 強。

■mysqld メモリ使用量
インデックス作成時 → 1.3GB
検索時 → 60MB

■検索にかかる時間
SELECT * FROM wiki WHERE MATCH(text) AGAINST(?) LIMIT 10
で0.5秒くらい


■環境
D945GCLF (ATOM 230)
メモリ: 2GB
OS: Debian 5.0.1
0243nobodyさん
垢版 |
2009/06/19(金) 08:44:14ID:???
おっと書きかけで送信してしまった

■検索にかかる時間 … 「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秒程度

■環境

D945GCLF (ATOM 230)
メモリ: 2GB
HDD: 40GB の IDE
OS: Debian 5.0.1 (32bit)


…ということで、LIMIT さえ効かせれば1秒以下で検索できるよ。
オンメモリじゃないとシーケンシャルスキャンより遅くなってもおかしくないとかアホじゃね?
>>218は LIMIT 句付けてないんちゃう?
それかクエリ間違っててインデックス使われてないとか
0244nobodyさん
垢版 |
2009/06/19(金) 09:01:10ID:???
>>242-243
それか!全件結果を返すのはそりゃ重い。

.SENと.SEN.lがオンメモリなら十分速度出ると思うよー!
この2つの一部がページアウトしてるとマジキツいっす。

2回目以降異常に早いのはクエリキャッシュが効いてそう。
/* SQL_NO_CACHE */を入れてみると本来の2回目以降の速度が計れるんじゃないかな。
0245242
垢版 |
2009/06/20(土) 05:04:34ID:???
測定基準整理して計り直してみた。

OS 起動直後、インデックスがキャッシュに一切載っていない状態で
「wiki」で検索 (1万件以上ヒットする) し、応答時間を測定。

1回目
LIMIT 10: 0.643秒
LIMIT 100: 1.129秒
LIMIT 1000: 5.787秒
LIMIT 10000: 49.523秒

2回目以降 (SQL_NO_CACHE 無しの場合)
LIMIT 10: 0.007秒
LIMIT 100: 0.029秒
LIMIT 1000: 0.203秒
LIMIT 10000: 1.467秒

2回目以降 (SQL_NO_CACHE 指定の場合)
LIMIT 10: 0.007秒
LIMIT 100: 0.029秒
LIMIT 1000: 0.202秒
LIMIT 10000: 1.462秒

SQL_NO_CACHE 指定の有無は優位な差を生まなかった。
0246242
垢版 |
2009/06/20(土) 05:06:04ID:???
搭載メモリ 2GB だったのを 512MB に減らした状態でも測定してみた。
SEN と SEN.l の合計が 800MB 強なので、明らかに物理メモリよりインデックスの方が大きい状態。

1回目
LIMIT 10: 0.634秒
LIMIT 100: 1.104秒
LIMIT 1000: 5.787秒
LIMIT 10000: 50.292秒

2回目以降 (SQL_NO_CACHE 無しの場合)
LIMIT 10: 0.007秒
LIMIT 100: 0.030秒
LIMIT 1000: 0.207秒
LIMIT 10000: 42.752秒

2回目以降 (SQL_NO_CACHE 指定の場合)
LIMIT 10: 0.007秒
LIMIT 100: 0.030秒
LIMIT 1000: 0.208秒
LIMIT 10000: 42.771秒

LIMIT 1000 まではメモリ 2GB の時と同じ状態。
今回も SQL_NO_CACHE 指定の有無は優位な差を生まなかった。
0247242
垢版 |
2009/06/20(土) 05:18:28ID:???
メモリ 512MB 環境下で LIMIT 10000 の時のみ
2回目の数値が極端に悪くなって1回目と大差なくなっているのは、
1回目検索時に読み込まれたデータが多すぎてキャッシュから溢れたためだろう。

実運用では同じ検索語が連続してくることなど希だから
このキャッシュミス状態はかなり起きやすくなるはず。
なのでインデックスは全部オンメモリであることが強く望ましいのは間違いない。
が、だからといって
>>235
> こいつらがオンメモリにないと単なるシーケンシャルスキャンより遅くなってもおかしくない
などというアホなこともない。

きちんと LIMIT 切ってやればメモリに全く載って無い状態ですら1秒で帰ってくる。
(ORDER BY とかつけてると LIMIT 付けててもダメな予感がするがまだ試してない)

また、

>>230
> 5Gのコンテンツだと、経験上インデックスサイズがだいたい5Gになるんすよ。

そういうケースもあるのかもしれんが、少なくとも今回試した Wikipeida 全文では
コンテンツ 5GB 弱に対してインデックス 1GB 弱になった。
よって 2GB で十分オンメモリになる。


それにしても、今回テストした ATOM で IDE 40GB の HDD で OS 起動直後で
1万件ヒットする単語でも1分越えしなかったわけだが、
>>214はいったいどういう環境とクエリで検索したんだ?
0248nobodyさん
垢版 |
2009/06/22(月) 01:12:14ID:???
64ビットOSにしてメモリ5Gは積まないととか言ってた奴はどこ行ったの?
0249nobodyさん
垢版 |
2009/08/03(月) 13:00:48ID:???
通常のMysqlで動作が遅かったため

tritonn-1.0.12-mysql-5.0.67-win32.zip
をインストールしてみたのですが、
何分かInsert Selectを連続して行っているとDBが落ちてしまい
MySQLAdministratorから「Can't crete a new thread errno12」とでて
ログインできなくなったり、
できてもスキーマやテーブル一覧が取得できなくなります。
この状態で.NETからSelectなどの処理を行うと
「Got error 12 from storage engine」
とでて処理できません。
Mysql6では同様の動作が問題なく継続できていました。

サービスを再起動すると復活するのですが、
同じように何分か処理を走らすと同様の状態になります。
メモリなどハードウェアはまだ余裕の状態です。

何が原因でどうしたらいいかなど八方塞になってしまいました。
どなたかアドバイスいただけませんでしょうか。
0250nobodyさん
垢版 |
2009/08/17(月) 16:21:20ID:ha4chuFj
人いない

sennachkドキュメントないんだけどこれ使えるの?
0251nobodyさん
垢版 |
2009/08/17(月) 17:48:41ID:???
>>250
まあ今時こんな性能が悪いものは、みんあ使わんってことだ
0252nobodyさん
垢版 |
2009/08/17(月) 22:15:10ID:a7sy8cob
>>251 さんのオヌヌメ教えて!
0253nobodyさん
垢版 |
2009/09/05(土) 21:32:55ID:4Qwo+WsH
mecabの辞書がUTF-8になってるから、
sjisのdbでは使えないと思ってたんだけど
やってみたら使えてるみたい。
ngramインデックスの場合、mecabの辞書に気を遣う必要ないという認識でOKですか?
0254nobodyさん
垢版 |
2009/09/05(土) 23:48:39ID:???
そりゃngramインデックスならmecab関係ないだろ。
mecabなしでも使えるわけだし。
0256nobodyさん
垢版 |
2010/03/25(木) 03:31:01ID:txB00Cpn
あれ、半年もレスなかったのか・・・
なにか他にいいのが出てるの?
アゲてみる、ごめん
0257nobodyさん
垢版 |
2010/04/04(日) 09:24:54ID:f5hMLlFL
tritonn使ってみようかと思ってるんですが、
将来的にDBをマシン間で引越しするとき、MyISAMは単純にファイルコピーだけ、
ダンプ→インポートしなくても引越しできるようですが、付加されたsenna関連である
sen.*についても単純にファイルコピーだけでOKなんでしょうか。
0258nobodyさん
垢版 |
2010/04/07(水) 02:19:15ID:nn78rN3+
どんな挙動するのかは知らないけど
センファイルは殲滅しておk
やたらでかいし、バックアップ対象からも外してるよ
インデックス張り直せば勝手に作るし
0259nobodyさん
垢版 |
2010/04/16(金) 10:09:21ID:dbk/orQU
トリトン使ってるけど
時間によって検索結果に出たり出なかったりする時があるみたい
インデックスへの反映具合を確認する方法があればいいんだけど
0260nobodyさん
垢版 |
2010/05/16(日) 02:14:19ID:???
Senna、Lucene、Solrなど
オープンソース系検索エンジンの
性能比較をやってるHPありませんか?
0261nobodyさん
垢版 |
2010/05/16(日) 16:24:02ID:???
以前見たような気がするからググれば出てくるんじゃね?
0262nobodyさん
垢版 |
2010/05/31(月) 10:03:05ID:ldCXIDLw
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なのですがどちらも結果は同じです。
0263nobodyさん
垢版 |
2010/06/02(水) 00:02:33ID:pNSVCSiw
1 :名無しさん@どっと混む[]:2009/12/14(月) 20:45:15 ID:unnBMLw10
高根社長のSM趣味サイトMaskRと
副業のSMクラブ銀座プレジス・動画配信専門リアルミストレスばかり語られるが
高根社長の本業コムラッドについても語ろう

銀座プレジス
http://www.prezis.jp/top.htm

MaskR
http://maskr.com/

【腹黒樹里高根】銀座プレジス3【客の情報開示】
http://set.bbspink.com/test/read.cgi/sm/1273492895/

【腹黒樹里】プレジスを語ろう2【周年イベント大失敗】
http://set.bbspink.com/test/read.cgi/sm/1262702507/

プレジスを語ろう
http://set.bbspink.com/test/read.cgi/sm/1246009466/

動画配信専門リアルミストレスってどうよ?
http://set.bbspink.com/test/read.cgi/sm/1249183350/

9 :名無しさん@どっと混む:2010/01/03(日) 18:27:00 ID:RSEbBiG0O
高値はもう大麻やめたの?

10 :名無しさん@どっと混む:2010/01/04(月) 05:15:29 ID:A3l1qdv+O
タカネ社長ってどうやってばれないように脱税してんだろ?
億単位で脱税して億ション暮らしなんて凄いよな
監査役の奥さんもグルなのか?
0264nobodyさん
垢版 |
2010/06/02(水) 00:03:25ID:pNSVCSiw
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
タカネ社長未成年に酒飲ませてレイプ

24 :名無しさん@どっと混む:2010/01/29(金) 18:16:06 ID:zMwtdkIsO
高根社長のレイプ趣味は病気だから治らない

25 :名無しさん@どっと混む:2010/02/01(月) 01:39:32 ID:uaH5mo2nO
前科者

26 :名無しさん@どっと混む:2010/02/09(火) 00:52:46 ID:JwGmN2cG0
>>25
容疑はレイプ?買春?管理売春?公然猥褻?薬物?脱税?詐欺?傷害?

28 :名無しさん@どっと混む:2010/02/14(日) 22:56:30 ID:lykq8x1VO
どこかのスレで人を死に追いやったと書いてあった

33 :名無しさん@どっと混む:2010/03/04(木) 12:49:19 ID:J8YxaRGO0
金がないって脱税がばれて追徴課税でも来たか?
せっかく脱税の隠れ蓑にプレジス営業してるのに残念だったなw

38 :名無しさん@どっと混む:2010/03/12(金) 21:09:53 ID:L0W4+sivO
首吊り首絞めプレイ大好き高根英哉
0265nobodyさん
垢版 |
2010/06/02(水) 00:04:26ID:pNSVCSiw
53 :名無しさん@どっと混む:2010/05/17(月) 13:14:06 ID:E/7OZVtz0
>>18
高根英哉blogでレイプ仲間募集中

私とともにマスクの女どもを弄ぶ仲間を募集する
急に思いついたら連絡をして、集まれるような仲間だ
だから、複数名募集するし、いついつという日時があるわけでもない
条件は以下のとおりだ
    ・SMを実践している、または興味がある
    ・マスクを用意できる
    ・都内でイベント参加できる
    ・イベント内容およびこの仲間を通じて知りえた情報を口外しない
    ・成人男子である
    ・携帯電話および携帯メールアドレスを私に公開できる
    ・酒が好きである
希望者は私宛にメールを送ってほしい
全員が参加できるわけでもないので、こちらの選択に任せてもらう
なるべく想いを書いてもらうほうがわかりやすいし
経験や顔写真も歓迎。
r2007@maskr.com
maskr_2008@yahoo.co.jp
hide@comrade.co.jp
0266262
垢版 |
2010/06/02(水) 08:04:37ID:kP3cOHz1
>>262はtritonnの仕様っぽいですね。
これはどうしようも無いことなのかな?
てっきり出来ると思ってたからがっくし。
0267nobodyさん
垢版 |
2011/05/22(日) 12:38:20.48ID:gdrY9aId
groonga来てるから話題減ってる気がするけど、あげ。
0268nobodyさん
垢版 |
2011/06/01(水) 17:59:58.68ID:???
limit a,b 指定で b の抽出件数指定は効くんだけど、a がゼロから効かない。
100,10 や 1000, 10 と指定しても、0, 10 と同じ結果。
フルテキストインデックス再構築したけど同じ。
インストした頃はちゃんと表示されたはずなんだが…。
0270nobodyさん
垢版 |
2017/12/30(土) 13:38:01.64ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

Z25K5IFYUN
0271nobodyさん
垢版 |
2018/09/11(火) 09:17:33.17ID:???
もう何とかブラジルって会社もないらしいな
0272nobodyさん
垢版 |
2019/02/28(木) 10:06:09.54ID:???
senna作ってた会社ニコニコ動画に買収されたんだっけ?
0273nobodyさん
垢版 |
2020/02/11(火) 15:33:52.03ID:???
チエオクレのハゲの悲惨なツイッター
https://twitter.com/aphonedollar

  ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
この自称「ハゲ」とかいうチエオクレのブログが酷すぎる

>「DesktopHE」 はWindows10に対応してないらしい

はぁ??? ★★★大嘘デタラメ★★★を垂れ流すな!!!

■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■

チエオクレのハゲが、Javaの設定を失敗してるだけじゃねえか!!!
嘘デタラメ垂れ流しやがって、このハゲがやっていることは立派な公害じゃねえか!

hatenaとかでまで、必死こいて大嘘をばらまいているんだが  
https://twitter.com/5chan_nel (5ch newer account)
0274nobodyさん
垢版 |
2023/09/29(金) 12:01:20.21ID:???
ウソォ━━━Σ(д゚|||ノ)ノ━━━ン!?
レスを投稿する


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