toshio_uchiy****@mirro*****
toshio_uchiy****@mirro*****
2017年 9月 9日 (土) 21:39:55 JST
須藤さま お世話になります。内山です。 ご教示いただいた件、実験してみました。 $vi memory.sh #! /bin/sh cat pgrn* > /dev/null for c in pgrn*.c; do cat $(echo $c | sed -e 's/\.c$//g')* > /dev/null done のファイルを memory.sh として作りました。 結果、再起動のあと何もせず explain ( analyze, buffers ) SELECT id, video, track, content, starttime, theme FROM manual AS P WHERE lower( content ) like lower( '%algorithm%' ) and exists ( select video from manual AS C1 where lower( content ) like lower( '%search%' ) and P.video = C1.video ) ORDER BY vc DESC; という SQL 文の実行時間が 18 秒でした。テーブル manual には、content カラム に PGroonga のインデックスが作ってあります。 再起動のあと memory.sh を実行して同じ SQL 文を実行。その結果、実行時間は 17秒でした。explain での両社の buffers: shared hit と read の値はほとんど 変わりませんでした。 なぜ、このことを報告したかと言いますと、わたくしはサービスがユーザーに 受け入れられて仕事として認識されたら、128GB メモリーのマシンを 購入してサービスの強化をはかりたいと考えています。その時に、cat pgrn* > /dev/null が効かないと、moovle ( http://moovle.org/ )サービスに問題が生じると 思うからです。 よろしくお願いします。 -----Original Message----- From: groon****@lists***** [mailto:groon****@lists*****] On Behalf Of Kouhei Sutou Sent: Friday, September 8, 2017 11:10 PM To: groon****@lists***** Subject: [groonga-dev,04463] Re: 日本語、英語、仏語のまざった文章で複数形や 過去形をフォローできますでしょうか 須藤です。 In <011501d3283e$21c15c80$65441580$@mirror.ocn.ne.jp> "[groonga-dev,04459] Re: 日本語、英語、仏語のまざった文章で複数形や過去形 をフォローできますでしょうか" on Fri, 8 Sep 2017 10:02:24 +0900, <toshio_uchiy****@mirro*****> wrote: > もしかして、カラム毎にファイルが分かれているのでしょうか。 はい、そうです。 > Postgres でのカラム名と groonga でのカラム名の対応表って > どこかにありますでしょうか? 対応表というか調べることはできます。 pgroonga_table_name()でPostgreSQLのインデックス名からGroonga のテーブル名を取得して、あとはそこからGroongaのコマンド (table_listやcolumn_list)で芋づる式に辿っていくことになり ます。 https://pgroonga.github.io/ja/reference/functions/pgroonga-table-name.html > cat pgrn.必要としているカラムのファイル > /dev/null > > すれば良い。ということでしょうか。 それは面倒なので、まず、 cat pgrn* > /dev/null で、全部メモリーに載せて、その後、転置インデックス用のファイ ルだけ再度メモリーに載せるのがよいと思います。 1つの転置インデックスには複数のファイルが紐付いています。そ れらを見分けるためには、まず、名前の最後に.cがついているファ イルを見つけます。見つけたらそのファイルから.cを抜きます。す るとpgrn.XXXXXXX(XXXXXXXは16進数)という名前ができます。こ の名前から始まるファイル全部が1つ転置インデックスのファイル です。なので、以下のようにすると転置インデックスのファイルを メモリーに載せられます。 for c in pgrn*.c; do cat $(echo $x | sed -e 's/\.c$//g')* > /dev/null done -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ OSS開発支援サービス: http://www.clear-code.com/blog/2016/6/27.html _______________________________________________ groonga-dev mailing list groon****@lists***** https://lists.osdn.me/mailman/listinfo/groonga-dev