組み込み型全文検索エンジンSenna (274レス)
1-

1
(1): うんこ船長 2005/06/15(水)00:14 ID:nYzPplAZ(1/4) AAS
ないようなので立ててみました。

外部リンク:dev.razil.jp
148: 2007/09/22(土)00:15 ID:??? AAS
>>147
> 一応・・・動くんだけど、どうして動くのか判らない、そんなものができつつあります。

そういうふうにReadmeに書いておけば、自然と情報が集まってくる希ガス
149
(2): 2007/09/22(土)17:04 ID:??? AAS
「max_exprsに、検索クエリに指定する式の最大値を指定します。」
ってどういうこと?「検索クエリの式」は判るけど、「式の値」って何?
150
(2): 2007/09/22(土)17:33 ID:TclPXa4o(1) AAS
ググって出てきた
外部リンク[aspx]:www.koders.com
を見ると「検索式の最大の数」だそうだが・・・。

じゃぁ、「*D+ nana」でPerlのSenna::Index->query_execを経由してsen_query_execで検索するときに、
0だと検索に失敗し、他の数字(試した数字の例:1,2,3,10,32,50)を指定して検索すると「セグメンテーション違反です」と
怒られるのはどうして?

文字コードの問題と切り分けるべく英数字で検索しても失敗する。何故?
151
(3): 2007/09/23(日)16:01 ID:Mbqn4OVO(1) AAS
>>149-150の問題があるけど
大体できたから
一応アップしてみた。

人柱版ということでよろしく。動作保証ナシ。でも俺の環境では動いた。
外部リンク[zip]:takatyan.info

スクリプトなどのファイルは全部UTF8でエンコードしていますから
対応エディタをお使いください・・・。
152: 2007/09/23(日)23:48 ID:??? AAS
>>150の件について、
Senna::IndexのupdateメソッドにSenna::Values型のデータを渡して
インデックス作ってみたけどやっぱりダメですね・・・。
153
(5): 2007/09/24(月)23:36 ID:??? AAS
>>151
試してみた。
なんかやたらモジュール要求されるな。
Senna の他にこんだけ追加モジュール要求された。
File::Extract
Class::Data::Inheritable
File::MMagic::XS
Spreadsheet::ParseExcel
OLE::Storage_Lite
MP3::Info
省11
154
(1): 2007/09/25(火)00:35 ID:??? AAS
>>153
>>151を作ったものです。
モジュールが大量に要る件についてはすみません・・・。俺自身も大量にインスコしました・・・。
えっとですね・・・それらはほとんどFile::Extractが必要とするものです。
File::Extractは、HTMLからテキストだけを抜き出すのに使ってます。

新規1778個っていうのはファイル数ですけど、そのくらいありますか?

そういえば・・・画像ファイルとかを除外する処理をしていませんね。
ですから画像ファイルをインデックスしようとして失敗しているのかも。
$e->extract($key)がundefを返したらスキップするのがいいかもしれません。
そもそもHTMLファイルだけの環境でしかテストしてませんでした・・・
省6
155
(1): 153 2007/09/25(火)00:47 ID:??? AAS
>>154
ども。
検索対象にしようとしたのは某 2ch 過去ログサイトで、
新規1778個っていうのはほとんど 2ch の過去ログです。
とはいえ関係ない種類のファイルも若干混じっているので
試しに明らかに HTML しか含んでいないディレクトリ指定してやってみても
新規 67個
更新 0個
削除 0個
Can't call method "mime_type" on an undefined value at mksss.pl line 156.
省3
156
(1): 2007/09/25(火)00:54 ID:??? AAS
>>155
mksss.plの89〜92行目ぐらいの
&update($index,$constants_code{$index->encoding()},\%StorageDB,\%ModifiedDB,\%TitleDB,$_);

print "新規: $i / @{[$#new + 1]} $_ \n";
を入れ替えて実行すると、どのファイルが問題なのか判るかと思います。
157
(1): 153 2007/09/25(火)01:29 ID:??? AAS
>>156
thx.
試してみたけど1個目の HTML でいきなりこけてた…
158
(1): 153 2007/09/25(火)02:01 ID:??? AAS
あーうちの環境依存の問題かな…
どんな HTML 食わせても File::Extract が undef 返すっぽいわ…
159
(1): 153 2007/09/25(火)13:05 ID:??? AAS
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); は
省10
160: 2007/09/25(火)18:02 ID:??? AAS
>>157-159
これはこれはありがとうございます。

File::Extractはコントラクタにオプションを渡すと文字コードの変換をやってくれるらしいので、
それに任せることにして、mksss.pl自体での本文の変換はしないことにします・・・。

重み付けをやるには、前述のSenna::Valuesクラスを使ってのインデックス化と検索ができれば
Senna側としては可能です。
あとは、そのためのHTMLを解釈する部分が作れればよいのですが・・・。
File::Extractじゃ無理っぽいね。自前で書くしかないかなぁ。
161: 2007/09/30(日)22:59 ID:7soZ8WBh(1) AAS
Senna 1.0.9 age
162: 2007/10/02(火)22:03 ID:??? AAS
>>149
遅レスだけど、max_exprsはクエリで列挙できるキーワードの数の最大値ってことだよ。例えば、

"+ああん -いやん +ばかん -うふん"

だと4つのキーワードがそれぞれの演算子と共に評価されるけど、max_exprsを超える数については無視される。
Tritonnだとmax_exprs=32固定なので、一度に指定できるのは32個までという仕様になってる。
163: 2007/10/20(土)03:01 ID:??? AAS
sennaのインストールや使用方法がウンコするくらい簡単になったら
お金出してでも導入する。

今のように難しくて面倒くさいうちは、LIKE%%検索で乗り切る。
164
(1): 2007/10/21(日)09:18 ID:??? AAS
likeで乗り切れるくらいならsennaいらないだろう
全文検索入れるか、まったく入れないかの選択になる
ってか、mysqlのバージョンが進めば、標準でマルチバイトの全文検索に対応するかな?
165: 2007/10/21(日)20:02 ID:??? AAS
ところで Senna っていうと MySQL で使う話ばっかり出てくる気がするんだが
Ludia 使ってる香具師おらんの?
166: 2007/11/14(水)10:26 ID:??? AAS
トリ?ってRPMで入れられるんだね
大分前にソースからパッチ当てて入れた時にはかなり大変だったけど
ありがたいねえ??
167: 2007/11/22(木)13:00 ID:t/zyhRCZ(1) AAS
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
省5
168
(1): 2007/11/23(金)12:42 ID:??? AAS
>>164
そうだよそうだよソースだよ!
MySQLが標準で日本語の全文検索に対応してくれりゃいいんだよね。

どこかの会社が全文検索を初めから使えるようにしたバージョン発売しないかな。
169: ◆e5sgKA2q7. 2007/12/02(日)20:38 ID:h6hdy91g(1) AAS
>>168
住商情報システムが売ってるんじゃないの?
170: 2007/12/02(日)21:19 ID:??? AAS
>>151
をなんとかこしらえた者ですが・・・
試行錯誤の果て、Perlバインディングによる実現は挫折しました。
結局私はMySQLバインディング Tritonnに逃げました。

というか・・・
>>151はインデックスの更新のために文書データを丸ごとBerkeleyDBに保存しておくので
実は、MySQLなりでDB作って検索するのと本質的に変わらないということに気付きました。

そんなわけでMySQL+tritonnでやるのなら、マトモに動くのが書けそうです・・・な。
171: [age] 2008/01/25(金)12:13 ID:??? AAS
Sunに買収されたことだし、ネイティブで日本語全文検索に対応してほしいね。
もちろん無償バージョンでも。
172
(1): 2008/02/08(金)17:53 ID:??? AAS
Perlバインディングがぜんぜん動かないので
買ったはいいがPerlから乗り換える気も起きずしまいこんでいた、Rubyの入門書を
引っ張り出してきてRubyバインディングを触ってみたらこれが
簡単に動く。

あのPerlバインディングどうなってるの・・・。
173: 2008/02/11(月)19:36 ID:??? AAS
>>172
ファイトー。
174: 2008/03/03(月)04:05 ID:KobAduJV(1) AAS
tritonnにmysql_configって入ってないですか?
phpでmysqliを使えるようにするために必要みたいなのですが・・・
175
(1): 2008/03/03(月)17:40 ID:??? AAS
tarボールの中に入ってたのでコピーしたらできました
176: 2008/03/04(火)01:26 ID:??? AAS
>>175
それはまずいんじゃ…?
mysql_config って私の認識では MySQL のインストール情報を
記録しておく (いつでも表示できるような) ミニアプリなので、
手順を踏んでインストールしないと意味がないもののような気がする。

パッケージ管理システムを採用しているような Linux ディストリビューションなら、
mysql-devel とか mysql-dev みたいな名前のパッケージを導入するのがいいのではないかな。
177: 2008/03/04(火)01:43 ID:??? AAS
>>178
確かに妙な感じになったので
RPM版をすべてアンインストールしてtarball版を使うことにしました
178
(1): 2008/03/04(火)18:06 ID:??? AAS
たしかmysql-dev相当のがなんかしらんけどインストールされなかったよね
-configもそのひとつだったとおもう
specを調整しないといけなかったような
179: 2008/03/26(水)23:50 ID:??? AAS
2chのスレのdatファイルをgz圧縮して格納しているんだが、
これをSennaで検索できるようにしたい。

インデックスを作るだけなら単に解凍してインデックスすればいいから
いいけど、
問題はスニペット。

検索結果を20件ずつ分けて表示するとしても、
検索結果を表示するたびに20個のgz圧縮datを解凍して
スニペットを作るというのは解凍が無駄なような気がする。

どうしたものか・・・。
スニペットを消すというのも手と言えば手だが思考停止に他ならないような気がする。
省5
180
(1): 2008/03/28(金)23:39 ID:??? AAS
解凍したものをポスグレとかMySQLに突っ込むのはダメなの?
ポスグレの場合は、大きいレコードは勝手に圧縮されるはずだから、
容量もあまり食わないし、キャッシュとかもしてくれると思う。
MySQLもそうなんじゃない?知らないけど。
181: 2008/03/30(日)23:18 ID:??? AAS
>>180
レスありがとうございます。

データベースですか・・・
一応MySQLを使っていますがまだ勉強途中で圧縮されるかどうかは知らないです。
解凍したものをキャッシュするとすればそれが最適ですかね・・・

判りました、ありがとうございました。
182: 2008/03/31(月)03:05 ID:??? AAS
MySQLは自動圧縮はないと思う。
183: 2008/04/07(月)18:43 ID:ubFKDoY/(1) AAS
トリトンのipadicのdicrcで
config-charset = EUC-JP
ってなってるんですが、これ間違いですか?
トリトンに組み込んでる辞書はUTF-8にしてるはずですよね?
EUC-JPへの辞書コンバートがどうもうまくいかず
調べているうちに見つけました
これが原因なのかどうかはまだ分かりませんが
184: 2008/04/07(月)23:43 ID:??? AAS
dirrcで設定したら正しくコンバートできました
コンバートしてもdirrcは書き換わらないので
そのままになってるみたいですね
185: 2008/08/08(金)01:06 ID:??? AAS
sage
186
(1): 2008/09/02(火)03:21 ID:CDQGh37S(1) AAS
>>111-112の SEN_INDEX_SPLIT_ALPHA とかを有効にしたいんだけど
ソースからいれないと駄目なのかな?
TritonnのLinux x86(non RPM packages)を使っています
187: 2008/09/11(木)01:53 ID:??? AAS
>>186
バイナリ配布のものでもいけるはずですよー。
188: 730=732 2008/09/12(金)16:44 ID:??? AAS
2chスレ:php
から誘導されてきました。
■環境
CentOS release 5.2 (Final) + Apache/2.2.3 + PHP 5.1.6 + Mediawiki v1.13.1 + Tritonn組み込みMySQL(外部リンク:qwik.jp on MW ware version 5.0.0 (メモリ256MB)
Tritonn組み込みMySQL = mecab + tritonn + senna +MySQL
■問題
Mediawikiの検索窓から、例えば検索キー「を膜上に」で検索すると、msqldが潰れます。
傾向としては、助詞を前に付けて検索を行うと、検索が終わらなくなるようです(例外はあった)。
×:「を膜上に」「と化学物質の」「と化学物質」「に毛細血管」
○:「を膜上」「膜上に」「化学物質」「化学物質の」「毛細血管」「毛細血管の」
省12
189: 730=732 2008/09/12(金)16:51 ID:??? AAS
誤:MW ware

正:VMware workstation version 5.0.0
190: 2008/09/12(金)17:56 ID:??? AAS
潰れるってナニ?
コア吐いてプロセスが死んじゃうの?
191: 2008/09/12(金)23:54 ID:??? AAS
ps -eFしてみると/usr/sbin/mysqld は残っているんだけど、サーバ越しには反応しない。
/sbin/service mysql restart とか打つと、延々反応無し。 kill -9 して再起動させないと駄目。
止まっちゃうような検索キー「と化学物質」を投げた直後にシェルには、これコアダンプって言うんでしょうか?
メモリダンプしてるから多分そうなんでしょうね。
他の環境で再現されなければ、インストール方法とか環境の問題で片付けるしかなさそう。
ちなみにMediawikiにぶち込んだデータは3万件です。
どなたか、ヒントを頂ければ幸いです。とりあえず、環境を変えて再現性を取る予定。
*** glibc detected *** /usr/sbin/mysqld: double free or corruption (out): 0x091c1018 ***
======= Backtrace: =========
/lib/libc.so.6[0x6a9b16]
省11
192: 2008/09/15(月)01:47 ID:??? AAS
VMWare上でCentOS5.2を入れてやってみたんだけど、確かにインストールうまくいかない。init scriptが問題ある。
さらに、phpで使うときにどこで詰まるかも↓これ読んでちょっと分かった。
外部リンク[html]:www.akiyan.com

Tritonnの開発者の人に、CentOSですんなりインストールできないです、
と報告を上げておいたので、状況が改善するまでお待ちあれー。
193
(1): [0] 2008/10/11(土)15:33 ID:??? AAS
Tritonn 1.0.9使用
INSERTとかUPDATEしようとすると反応しなくなっちゃう現象発生。
/etc/init.d/mysql restartでリスタートしようとしても反応なしでkill -9しないとダメ。
再起動したあともINSERTとUPDATEしようとすると無反応。
ぐぐったらSennaで2007年にデッドロックの問題があって修正されてるみたいだけど
Tritonnに反映されてるの?
外部リンク[html]:lists.sourceforge.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句を否定すればよい。
加えて、「あああ」も「いいい」もどちらも含まないレコードを探したければ
WHERE NOT match(myText) AGAINST("*D+ あああ いいい" IN BOOLEAN MODE)

tritonnこれからどうなるんだろ・・・
207: 205 2009/03/12(木)03:17 ID:??? AAS
>>206
ありがとうございます 出来ました!
MLで
>クエリを発行する用途
について書かれていたのですが、
私の場合(Senna導入以前からの実装を引きずってますが)一旦
大分類・小分類・期日指定 で全文検索を用いずにある程度データを絞ります
抽出されたデータのうち95%程度が条件Aに起因するものとして、残り5%の
レアケースを調べたい場合に
-条件A
省1
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
#apt-get install mecab-ipadic
#apt-get install libmecab-dev

+IPA辞書をUTF-8に変換
省5
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
#./configure --prefix=/usr
#make
#make install
省16
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は以下のような感じです。
Table: searchindex
Key_name: si_title
Column_name: si_title
省17
223
(1): 214 [age] 2009/06/04(木)14:37 ID:??? AAS
どううまくいかないのかを書き忘れましたorz…
完全一致が1番目にこないです。
---------------------
Top_10_Google_hits
Google_マップ
Google_Earth
Google←これが1番にきてほしい

--------------------
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つスコアを下げて部分一致をとる挙動になると思うのですが完全一致も部分一致も同じスコア値になっています。
+--------------------+-------+
| page_title | score |
+--------------------+-------+
省6
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。
スラッシング起きたら、どのエンジンでも速度でないよー。

>>231
基礎から学んでくるお!いいサイト教えて。
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を計算する。
(.SENの総容量 + .SEN.lの総容量 + mymemcheckのmin_memory_needed)が
実メモリサイズを超えていたら危険な香り。
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
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
省12
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秒
LIMIT 10000: 49.523秒

2回目以降 (SQL_NO_CACHE 無しの場合)
LIMIT 10: 0.007秒
省9
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秒

2回目以降 (SQL_NO_CACHE 無しの場合)
LIMIT 10: 0.007秒
LIMIT 100: 0.030秒
省9
247: 242 2009/06/20(土)05:18 ID:??? AAS
メモリ 512MB 環境下で LIMIT 10000 の時のみ
2回目の数値が極端に悪くなって1回目と大差なくなっているのは、
1回目検索時に読み込まれたデータが多すぎてキャッシュから溢れたためだろう。

実運用では同じ検索語が連続してくることなど希だから
このキャッシュミス状態はかなり起きやすくなるはず。
なのでインデックスは全部オンメモリであることが強く望ましいのは間違いない。
が、だからといって
>>235
> こいつらがオンメモリにないと単なるシーケンシャルスキャンより遅くなってもおかしくない
などというアホなこともない。
省11
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」とでて
ログインできなくなったり、
できてもスキーマやテーブル一覧が取得できなくなります。
この状態で.NETからSelectなどの処理を行うと
「Got error 12 from storage engine」
とでて処理できません。
省6
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
外部リンク:maskr.com

【腹黒樹里高根】銀座プレジス3【客の情報開示】
2chスレ:sm
省12
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
タカネ社長未成年に酒飲ませてレイプ

24 :名無しさん@どっと混む:2010/01/29(金) 18:16:06 ID:zMwtdkIsO
高根社長のレイプ趣味は病気だから治らない
省12
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でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
■「DesktopHE」 はWindows10でも、もちろん使えるわ!!!■
省5
274: 2023/09/29(金)12:01 ID:??? AAS
ウソォ━━━Σ(д゚|||ノ)ノ━━━ン!?
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.776s*