From t_kawanishi @ hotmail.co.jp Mon Mar 3 14:08:40 2008 From: t_kawanishi @ hotmail.co.jp (Kawanishi Tetsuo) Date: Mon, 3 Mar 2008 14:08:40 +0900 Subject: [Ludia-users 191] =?iso-2022-jp?b?IEluZGV4GyRCJHJNUSQkJD84ITp3JEchIiVSJUMlSCQ3GyhC?= =?iso-2022-jp?b?GyRCJEokJCQzJEgkLCQiJGokXiQ5GyhC?= Message-ID: こんにちは。川西です。 お世話になります。 インデックスを用いた検索で、ヒットしないことがあるのですが、 原因がわからず、困っています。 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 ▼ヒットしない select * from people_2008 where id = 1 and name @@ '山田太郎'; ▼ヒットする select * from people_2008 where id = 1 and name like '%山田太郎%'; select * from people_2008 where id = 1 and name = '山田太郎'; また、カウントの結果にも誤差が出てきています。 select count(*) from people_2008 where name @@ '山田太郎'; => 41件ヒット select count(*) from people_2008 where name like '%山田太郎%'; => 50件ヒット まだ試していませんが、reindexすることで解決する可能性はあると思いますが、 クラッシュ以外にこのような現象に陥る可能性は考えられますでしょうか? また、環境は以下の通りです。 Redhat EL5 PostgreSQL 8.2.5 ludia-1.3.1 senna-1.0.9 ※CEにて年単位でテーブル分割を行っています。 ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にしています。 お手数おかけいたしますが、ご教示くださいますよう、 よろしくお願いします。 Tetsuo Kawanishi t_kawanishi @ hotmail.co.jp _________________________________________________________________ 栄養不足?MSN相談箱で「サプリメント」について知ろう! http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16XqpeGl86XI From yama @ scaleout.jp Mon Mar 3 14:13:35 2008 From: yama @ scaleout.jp (Daisuke Yamazaki) Date: Mon, 03 Mar 2008 14:13:35 +0900 Subject: [Ludia-users 192] Re: =?iso-2022-jp?b?SW5kZXgbJEIkck1RJCQkPzghOnckRyEiJVIlQyVIGyhC?= =?iso-2022-jp?b?GyRCJDckSiQkJDMkSCQsJCIkaiReJDkbKEI=?= In-Reply-To: References: Message-ID: <20080303141035.4FED.YAMA@scaleout.jp> こんにちは.スケールアウトの山崎です. On Mon, 3 Mar 2008 14:08:40 +0900 Kawanishi Tetsuo wrote: > インデックスを用いた検索で、ヒットしないことがあるのですが、 > 原因がわからず、困っています。 > 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 DBのエンコードがあっていない可能性があります. % psql -l をするとどうなるでしょう? 株式会社 スケールアウト Daisuke Yamazaki Blog:最速配信研究会 http://d.hatena.ne.jp/yamaz/ From t_kawanishi @ hotmail.co.jp Mon Mar 3 15:51:20 2008 From: t_kawanishi @ hotmail.co.jp (Kawanishi Tetsuo) Date: Mon, 3 Mar 2008 15:51:20 +0900 Subject: [Ludia-users 193] =?iso-2022-jp?b?IFJFOiAgUmU6IEluZGV4GyRCJHJNUSQkJD84ITp3JEcbKEI=?= =?iso-2022-jp?b?GyRCISIlUiVDJUgkNyRKJCQkMyRIJCwkIiRqJF4kORsoQg==?= In-Reply-To: <20080303141035.4FED.YAMA@scaleout.jp> References: <20080303141035.4FED.YAMA@scaleout.jp> Message-ID: こんにちは。川西です。 山崎さん、ご回答ありがとうございます。 > DBのエンコードがあっていない可能性があります. > > % psql -l 確認しましたところ、DBのエンコードはUTF8になっていました。 インデックスについてはわかりませんが、実データは 文字化けを起こしていないように見えます。 Tetsuo Kawanishi t_kawanishi @ hotmail.co.jp _________________________________________________________________ 「初音ミク」の妹分「鏡音リン」をLive Search で画像検索! http://search.live.com/images/results.aspx?q=%E9%8F%A1%E9%9F%B3%E3%83%AA%E3%83%B3&FORM=MGDEAA From kousakadi @ nttdata.co.jp Tue Mar 4 09:03:40 2008 From: kousakadi @ nttdata.co.jp (kousakadi @ nttdata.co.jp) Date: Tue, 4 Mar 2008 09:03:40 +0900 Subject: [Ludia-users 194] Re: =?iso-2022-jp?b?SW5kZXgbJEIkck1RJCQkPzghOnckRyEiJVIlQyVIGyhC?= =?iso-2022-jp?b?GyRCJDckSiQkJDMkSCQsJCIkaiReJDkbKEI=?= References: Message-ID: <178CD7FD87EF4B4BB23F3D0B6C201D3F053F52FF@MAILSV11.msg.nttdata.co.jp> 幸坂です。こんにちは。 可能性としては、以下の2点が考えられます。 ludia.max_n_sort_resultの値を過剰に小さくすると、 ヒット件数が少なくなります。 が、今回は関係なさそうです…。 ludia.sen_index_flagsの設定ミスはないですか? SELECT * FROM pgs2indexinfo(); で確認してみてください。 SET ludia.sen_index_flag to 19; として、設定に失敗するケースがよく見られます。 (flagは間違い。flagsが正しい。) > -----Original Message----- > From: ludia-users-bounces @ lists.sourceforge.jp > [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of Kawanishi > Tetsuo > Sent: Monday, March 03, 2008 2:09 PM > To: ludia-users @ lists.sourceforge.jp > Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことがあり > ます > > > こんにちは。川西です。 > お世話になります。 > > インデックスを用いた検索で、ヒットしないことがあるのですが、 > 原因がわからず、困っています。 > 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 > > ▼ヒットしない > select * from people_2008 where id = 1 and name @@ '山田太郎'; > > ▼ヒットする > select * from people_2008 where id = 1 and name like '%山田太郎%'; > select * from people_2008 where id = 1 and name = '山田太郎'; > > また、カウントの結果にも誤差が出てきています。 > select count(*) from people_2008 where name @@ '山田太郎'; > => 41件ヒット > > select count(*) from people_2008 where name like '%山田太郎%'; > => 50件ヒット > > まだ試していませんが、reindexすることで解決する可能性はあると思いますが、 > クラッシュ以外にこのような現象に陥る可能性は考えられますでしょうか? > > また、環境は以下の通りです。 > Redhat EL5 > PostgreSQL 8.2.5 > ludia-1.3.1 > senna-1.0.9 > ※CEにて年単位でテーブル分割を行っています。 > ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にしてい > ます。 > > > お手数おかけいたしますが、ご教示くださいますよう、 > よろしくお願いします。 > > Tetsuo Kawanishi > t_kawanishi @ hotmail.co.jp > _________________________________________________________________ > 栄養不足?MSN相談箱で「サプリメント」について知ろう! > http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X > qpeGl86XI > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users From t_kawanishi @ hotmail.co.jp Tue Mar 4 12:39:07 2008 From: t_kawanishi @ hotmail.co.jp (Kawanishi Tetsuo) Date: Tue, 4 Mar 2008 12:39:07 +0900 Subject: [Ludia-users 195] =?iso-2022-jp?b?IFJFOiAgUmU6IEluZGV4GyRCJHJNUSQkJD84ITp3JEcbKEI=?= =?iso-2022-jp?b?GyRCISIlUiVDJUgkNyRKJCQkMyRIJCwkIiRqJF4kORsoQg==?= In-Reply-To: <178CD7FD87EF4B4BB23F3D0B6C201D3F053F52FF@MAILSV11.msg.nttdata.co.jp> References: <178CD7FD87EF4B4BB23F3D0B6C201D3F053F52FF@MAILSV11.msg.nttdata.co.jp> Message-ID: 川西です。こんにちは。 幸坂さん、ご回答ありがとうございます。 > ludia.sen_index_flagsの設定ミスはないですか? > SELECT * FROM pgs2indexinfo(); > で確認してみてください。 クエリを実行してみたところ、実行できず、以下のメッセージが出力されました。 ERROR: pgsenna2: pgs2indexinfo cannot open senna index /var/lib/pgsql/data/base/2453394/4249058 上記のノード番号のインデックスはDB上に存在しなかったので、 タイミングを見て、pgs2destroy() を行った後、再度試してみたいと思います。 また、SELECT * FROM pgs2getoption(); の結果は下記のとおりです。 -[ RECORD 1 ]------+------- max_n_sort_result | 100000 enable_seqscan | on seqscan_flags | 1 sen_index_flags | 19 max_n_index_cache | 12 initial_n_segments | 512 よろしくお願いします。 > Date: Tue, 4 Mar 2008 09:03:40 +0900 > From: kousakadi @ nttdata.co.jp > To: ludia-users @ lists.sourceforge.jp > Subject: [Ludia-users 194] Re: Indexを用いた検索で、ヒットしないことがあります > > 幸坂です。こんにちは。 > > 可能性としては、以下の2点が考えられます。 > > ludia.max_n_sort_resultの値を過剰に小さくすると、 > ヒット件数が少なくなります。 > が、今回は関係なさそうです…。 > > ludia.sen_index_flagsの設定ミスはないですか? > SELECT * FROM pgs2indexinfo(); > で確認してみてください。 > SET ludia.sen_index_flag to 19; > として、設定に失敗するケースがよく見られます。 > (flagは間違い。flagsが正しい。) > >> -----Original Message----- >> From: ludia-users-bounces @ lists.sourceforge.jp >> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of Kawanishi >> Tetsuo >> Sent: Monday, March 03, 2008 2:09 PM >> To: ludia-users @ lists.sourceforge.jp >> Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことがあり >> ます >> >> >> こんにちは。川西です。 >> お世話になります。 >> >> インデックスを用いた検索で、ヒットしないことがあるのですが、 >> 原因がわからず、困っています。 >> 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 >> >> ▼ヒットしない >> select * from people_2008 where id = 1 and name @@ '山田太郎'; >> >> ▼ヒットする >> select * from people_2008 where id = 1 and name like '%山田太郎%'; >> select * from people_2008 where id = 1 and name = '山田太郎'; >> >> また、カウントの結果にも誤差が出てきています。 >> select count(*) from people_2008 where name @@ '山田太郎'; >> => 41件ヒット >> >> select count(*) from people_2008 where name like '%山田太郎%'; >> => 50件ヒット >> >> まだ試していませんが、reindexすることで解決する可能性はあると思いますが、 >> クラッシュ以外にこのような現象に陥る可能性は考えられますでしょうか? >> >> また、環境は以下の通りです。 >> Redhat EL5 >> PostgreSQL 8.2.5 >> ludia-1.3.1 >> senna-1.0.9 >> ※CEにて年単位でテーブル分割を行っています。 >> ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にしてい >> ます。 >> >> >> お手数おかけいたしますが、ご教示くださいますよう、 >> よろしくお願いします。 >> >> Tetsuo Kawanishi >> t_kawanishi @ hotmail.co.jp >> _________________________________________________________________ >> 栄養不足?MSN相談箱で「サプリメント」について知ろう! >> http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X >> qpeGl86XI >> >> _______________________________________________ >> Ludia-users mailing list >> Ludia-users @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users _________________________________________________________________ 確定申告大丈夫?Live Searchで検索していろいろ下準備。 http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A&FORM=MGCEAB From t_kawanishi @ hotmail.co.jp Wed Mar 5 10:41:56 2008 From: t_kawanishi @ hotmail.co.jp (Kawanishi Tetsuo) Date: Wed, 5 Mar 2008 10:41:56 +0900 Subject: [Ludia-users 196] =?iso-2022-jp?b?IFJFOiAgIFJFOiAgUmU6IEluZGV4GyRCJHJNUSQkJD8bKEI=?= =?iso-2022-jp?b?GyRCOCE6dyRHISIlUiVDJUgkNyRKJCQkMyRIJCwkIiRqJF4kORsoQg==?= In-Reply-To: References: <178CD7FD87EF4B4BB23F3D0B6C201D3F053F52FF@MAILSV11.msg.nttdata.co.jp> Message-ID: 川西です。こんにちは。 pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんでした。 また、pgs2indexinfo()も行えない状態のままです。 SELECT * FROM pgs2indexinfo(); ERROR: pgsenna2: pgs2indexinfo cannot open senna index /var/lib/pgsql/data/base/2453394/4249058 また、対象のインデックスのREINDEXを行ったところ、修復できているようです。 現象発生の原因として、気になる点が2点あります。 1点目はDBのRENAMEを行っている点です。 db_aというDBを使用しているとして、下記のようにrenameを行いました。 例) db_a => db_b db_c => db_a 2点目、pg_dumpでdumpしたものを、pg_restoreして使用している点です。 pg_dumpはオプションに「-Fc」を付けました。 上記は問題ありますでしょうか? よろしくお願いします。 > From: t_kawanishi @ hotmail.co.jp > To: ludia-users @ lists.sourceforge.jp > Date: Tue, 4 Mar 2008 12:39:07 +0900 > Subject: [Ludia-users 195] RE: Re: Indexを用いた検索で、ヒットしないことがあります > > > 川西です。こんにちは。 > > 幸坂さん、ご回答ありがとうございます。 > >> ludia.sen_index_flagsの設定ミスはないですか? >> SELECT * FROM pgs2indexinfo(); >> で確認してみてください。 > > クエリを実行してみたところ、実行できず、以下のメッセージが出力されました。 > ERROR: pgsenna2: pgs2indexinfo cannot open senna index /var/lib/pgsql/data/base/2453394/4249058 > > 上記のノード番号のインデックスはDB上に存在しなかったので、 > タイミングを見て、pgs2destroy() を行った後、再度試してみたいと思います。 > > また、SELECT * FROM pgs2getoption(); > の結果は下記のとおりです。 > -[ RECORD 1 ]------+------- > max_n_sort_result | 100000 > enable_seqscan | on > seqscan_flags | 1 > sen_index_flags | 19 > max_n_index_cache | 12 > initial_n_segments | 512 > > よろしくお願いします。 > >> Date: Tue, 4 Mar 2008 09:03:40 +0900 >> From: kousakadi @ nttdata.co.jp >> To: ludia-users @ lists.sourceforge.jp >> Subject: [Ludia-users 194] Re: Indexを用いた検索で、ヒットしないことがあります >> >> 幸坂です。こんにちは。 >> >> 可能性としては、以下の2点が考えられます。 >> >> ludia.max_n_sort_resultの値を過剰に小さくすると、 >> ヒット件数が少なくなります。 >> が、今回は関係なさそうです…。 >> >> ludia.sen_index_flagsの設定ミスはないですか? >> SELECT * FROM pgs2indexinfo(); >> で確認してみてください。 >> SET ludia.sen_index_flag to 19; >> として、設定に失敗するケースがよく見られます。 >> (flagは間違い。flagsが正しい。) >> >>> -----Original Message----- >>> From: ludia-users-bounces @ lists.sourceforge.jp >>> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of Kawanishi >>> Tetsuo >>> Sent: Monday, March 03, 2008 2:09 PM >>> To: ludia-users @ lists.sourceforge.jp >>> Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことがあり >>> ます >>> >>> >>> こんにちは。川西です。 >>> お世話になります。 >>> >>> インデックスを用いた検索で、ヒットしないことがあるのですが、 >>> 原因がわからず、困っています。 >>> 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 >>> >>> ▼ヒットしない >>> select * from people_2008 where id = 1 and name @@ '山田太郎'; >>> >>> ▼ヒットする >>> select * from people_2008 where id = 1 and name like '%山田太郎%'; >>> select * from people_2008 where id = 1 and name = '山田太郎'; >>> >>> また、カウントの結果にも誤差が出てきています。 >>> select count(*) from people_2008 where name @@ '山田太郎'; >>> => 41件ヒット >>> >>> select count(*) from people_2008 where name like '%山田太郎%'; >>> => 50件ヒット >>> >>> まだ試していませんが、reindexすることで解決する可能性はあると思いますが、 >>> クラッシュ以外にこのような現象に陥る可能性は考えられますでしょうか? >>> >>> また、環境は以下の通りです。 >>> Redhat EL5 >>> PostgreSQL 8.2.5 >>> ludia-1.3.1 >>> senna-1.0.9 >>> ※CEにて年単位でテーブル分割を行っています。 >>> ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にしてい >>> ます。 >>> >>> >>> お手数おかけいたしますが、ご教示くださいますよう、 >>> よろしくお願いします。 >>> >>> Tetsuo Kawanishi >>> t_kawanishi @ hotmail.co.jp >>> _________________________________________________________________ >>> 栄養不足?MSN相談箱で「サプリメント」について知ろう! >>> http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X >>> qpeGl86XI >>> >>> _______________________________________________ >>> Ludia-users mailing list >>> Ludia-users @ lists.sourceforge.jp >>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >> >> _______________________________________________ >> Ludia-users mailing list >> Ludia-users @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _________________________________________________________________ > 確定申告大丈夫?Live Searchで検索していろいろ下準備。 > http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A&FORM=MGCEAB > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users _________________________________________________________________ 確定申告大丈夫?Live Searchで検索していろいろ下準備。 http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A&FORM=MGCEAB From kousakadi @ nttdata.co.jp Wed Mar 5 16:21:40 2008 From: kousakadi @ nttdata.co.jp (kousakadi @ nttdata.co.jp) Date: Wed, 5 Mar 2008 16:21:40 +0900 Subject: [Ludia-users 197] Re: =?iso-2022-jp?b?SW5kZXgbJEIkck1RJCQkPzghOnckRyEiJVIlQyVIGyhC?= =?iso-2022-jp?b?GyRCJDckSiQkJDMkSCQsJCIkaiReJDkbKEI=?= References: <178CD7FD87EF4B4BB23F3D0B6C201D3F053F52FF@MAILSV11.msg.nttdata.co.jp> Message-ID: <178CD7FD87EF4B4BB23F3D0B6C201D3F054F8702@MAILSV11.msg.nttdata.co.jp> 幸坂です。こんにちは。 > ERROR: pgsenna2: pgs2indexinfo cannot open senna index > /var/lib/pgsql/data/base/2453394/4249058 ls -l /var/lib/pgsql/data/base/2453394/4249058* とするとどうなるでしょうか。 4249058.SEN 4249058.SEN.l 4249058.SEN.i 4249058.SEN.i.c は4つで1セットなのですが、一部のファイルが欠けていたり、 ファイルが破損していると、インデックス異常と見なされ、 上記のエラーが発生します。 その場合、川西さんが行ったように、REINDEXすると、 異常なインデックスは消え、pgs2indexinfoも動作するはずです。 > pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんでし た。 pgs2destroyは、不要なインデックスの回収をするだけです。 異常なインデックスの回収はしません。 > 現象発生の原因として、気になる点が2点あります。 2点とも問題ないと思われます。 リストアに関しては、以下の内容も参照してください。 http://lists.sourceforge.jp/mailman/archives/ludia-users/2007-September/0000 86.html > -----Original Message----- > From: ludia-users-bounces @ lists.sourceforge.jp > [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of Kawanishi > Tetsuo > Sent: Wednesday, March 05, 2008 10:42 AM > To: ludia-users @ lists.sourceforge.jp > Subject: [Ludia-users 196] RE: RE: Re: Indexを用いた検索で、ヒットしな > いことがあります > > > 川西です。こんにちは。 > > pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんで > した。 > > また、pgs2indexinfo()も行えない状態のままです。 > SELECT * FROM pgs2indexinfo(); > > ERROR: pgsenna2: pgs2indexinfo cannot open senna index > /var/lib/pgsql/data/base/2453394/4249058 > > > また、対象のインデックスのREINDEXを行ったところ、修復できているようで > す。 > > > 現象発生の原因として、気になる点が2点あります。 > > 1点目はDBのRENAMEを行っている点です。 > db_aというDBを使用しているとして、下記のようにrenameを行いました。 > 例) > db_a => db_b > db_c => db_a > > 2点目、pg_dumpでdumpしたものを、pg_restoreして使用している点です。 > pg_dumpはオプションに「-Fc」を付けました。 > > 上記は問題ありますでしょうか? > > よろしくお願いします。 > > > From: t_kawanishi @ hotmail.co.jp > > To: ludia-users @ lists.sourceforge.jp > > Date: Tue, 4 Mar 2008 12:39:07 +0900 > > Subject: [Ludia-users 195] RE: Re: Indexを用いた検索で、ヒットしない > ことがあります > > > > > > 川西です。こんにちは。 > > > > 幸坂さん、ご回答ありがとうございます。 > > > >> ludia.sen_index_flagsの設定ミスはないですか? > >> SELECT * FROM pgs2indexinfo(); > >> で確認してみてください。 > > > > クエリを実行してみたところ、実行できず、以下のメッセージが出力されま > した。 > > ERROR: pgsenna2: pgs2indexinfo cannot open senna index > /var/lib/pgsql/data/base/2453394/4249058 > > > > 上記のノード番号のインデックスはDB上に存在しなかったので、 > > タイミングを見て、pgs2destroy() を行った後、再度試してみたいと思いま > す。 > > > > また、SELECT * FROM pgs2getoption(); > > の結果は下記のとおりです。 > > -[ RECORD 1 ]------+------- > > max_n_sort_result | 100000 > > enable_seqscan | on > > seqscan_flags | 1 > > sen_index_flags | 19 > > max_n_index_cache | 12 > > initial_n_segments | 512 > > > > よろしくお願いします。 > > > >> Date: Tue, 4 Mar 2008 09:03:40 +0900 > >> From: kousakadi @ nttdata.co.jp > >> To: ludia-users @ lists.sourceforge.jp > >> Subject: [Ludia-users 194] Re: Indexを用いた検索で、ヒットしないこと > があります > >> > >> 幸坂です。こんにちは。 > >> > >> 可能性としては、以下の2点が考えられます。 > >> > >> ludia.max_n_sort_resultの値を過剰に小さくすると、 > >> ヒット件数が少なくなります。 > >> が、今回は関係なさそうです…。 > >> > >> ludia.sen_index_flagsの設定ミスはないですか? > >> SELECT * FROM pgs2indexinfo(); > >> で確認してみてください。 > >> SET ludia.sen_index_flag to 19; > >> として、設定に失敗するケースがよく見られます。 > >> (flagは間違い。flagsが正しい。) > >> > >>> -----Original Message----- > >>> From: ludia-users-bounces @ lists.sourceforge.jp > >>> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of > Kawanishi > >>> Tetsuo > >>> Sent: Monday, March 03, 2008 2:09 PM > >>> To: ludia-users @ lists.sourceforge.jp > >>> Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことが > あり > >>> ます > >>> > >>> > >>> こんにちは。川西です。 > >>> お世話になります。 > >>> > >>> インデックスを用いた検索で、ヒットしないことがあるのですが、 > >>> 原因がわからず、困っています。 > >>> 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 > >>> > >>> ▼ヒットしない > >>> select * from people_2008 where id = 1 and name @@ '山田太郎'; > >>> > >>> ▼ヒットする > >>> select * from people_2008 where id = 1 and name like '%山田太郎%'; > >>> select * from people_2008 where id = 1 and name = '山田太郎'; > >>> > >>> また、カウントの結果にも誤差が出てきています。 > >>> select count(*) from people_2008 where name @@ '山田太郎'; > >>> => 41件ヒット > >>> > >>> select count(*) from people_2008 where name like '%山田太郎%'; > >>> => 50件ヒット > >>> > >>> まだ試していませんが、reindexすることで解決する可能性はあると思いま > すが、 > >>> クラッシュ以外にこのような現象に陥る可能性は考えられますでしょう > か? > >>> > >>> また、環境は以下の通りです。 > >>> Redhat EL5 > >>> PostgreSQL 8.2.5 > >>> ludia-1.3.1 > >>> senna-1.0.9 > >>> ※CEにて年単位でテーブル分割を行っています。 > >>> ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にし > てい > >>> ます。 > >>> > >>> > >>> お手数おかけいたしますが、ご教示くださいますよう、 > >>> よろしくお願いします。 > >>> > >>> Tetsuo Kawanishi > >>> t_kawanishi @ hotmail.co.jp > >>> _________________________________________________________________ > >>> 栄養不足?MSN相談箱で「サプリメント」について知ろう! > >>> > http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X > >>> qpeGl86XI > >>> > >>> _______________________________________________ > >>> Ludia-users mailing list > >>> Ludia-users @ lists.sourceforge.jp > >>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > >> > >> _______________________________________________ > >> Ludia-users mailing list > >> Ludia-users @ lists.sourceforge.jp > >> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > > > _________________________________________________________________ > > 確定申告大丈夫?Live Searchで検索していろいろ下準備。 > > > http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7% > 94%B3%E5%91%8A&FORM=MGCEAB > > > > _______________________________________________ > > Ludia-users mailing list > > Ludia-users @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _________________________________________________________________ > 確定申告大丈夫?Live Searchで検索していろいろ下準備。 > http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7% > 94%B3%E5%91%8A&FORM=MGCEAB > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users From t_kawanishi @ hotmail.co.jp Thu Mar 6 10:25:19 2008 From: t_kawanishi @ hotmail.co.jp (Kawanishi Tetsuo) Date: Thu, 6 Mar 2008 10:25:19 +0900 Subject: [Ludia-users 198] =?iso-2022-jp?b?IFJFOiAgUmU6IEluZGV4GyRCJHJNUSQkJD84ITp3JEcbKEI=?= =?iso-2022-jp?b?GyRCISIlUiVDJUgkNyRKJCQkMyRIJCwkIiRqJF4kORsoQg==?= In-Reply-To: <178CD7FD87EF4B4BB23F3D0B6C201D3F054F8702@MAILSV11.msg.nttdata.co.jp> References: <178CD7FD87EF4B4BB23F3D0B6C201D3F053F52FF@MAILSV11.msg.nttdata.co.jp> <178CD7FD87EF4B4BB23F3D0B6C201D3F054F8702@MAILSV11.msg.nttdata.co.jp> Message-ID: こんにちは。川西です。 幸坂さん、ご解答ありがとうございます。 > ls -l /var/lib/pgsql/data/base/2453394/4249058* > とするとどうなるでしょうか。 > 4249058.SEN 4249058.SEN.l 4249058.SEN.i 4249058.SEN.i.c > は4つで1セットなのですが、一部のファイルが欠けていたり、 > ファイルが破損していると、インデックス異常と見なされ、 > 上記のエラーが発生します。 > その場合、川西さんが行ったように、REINDEXすると、 > 異常なインデックスは消え、pgs2indexinfoも動作するはずです。 幸坂さんのおっしゃる通り、4249058、4249058.SENの2ファイルしか存在しませんでした。 また、oid:2453394のDBは不要なDBですのでタイミングを見てDROPし、 再度pgs2indexinfoを実行してみます。 > 2点とも問題ないと思われます。 > リストアに関しては、以下の内容も参照してください。 > http://lists.sourceforge.jp/mailman/archives/ludia-users/2007-September/0000 > 86.html create databaseの後、pgsenna2.sqlは実行しています。 定期的なREINDEXも検討してみます。 > Date: Wed, 5 Mar 2008 16:21:40 +0900 > From: kousakadi @ nttdata.co.jp > To: ludia-users @ lists.sourceforge.jp > Subject: [Ludia-users 197] Re: Indexを用いた検索で、ヒットしないことがあります > > 幸坂です。こんにちは。 > >> ERROR: pgsenna2: pgs2indexinfo cannot open senna index >> /var/lib/pgsql/data/base/2453394/4249058 > ls -l /var/lib/pgsql/data/base/2453394/4249058* > とするとどうなるでしょうか。 > 4249058.SEN 4249058.SEN.l 4249058.SEN.i 4249058.SEN.i.c > は4つで1セットなのですが、一部のファイルが欠けていたり、 > ファイルが破損していると、インデックス異常と見なされ、 > 上記のエラーが発生します。 > その場合、川西さんが行ったように、REINDEXすると、 > 異常なインデックスは消え、pgs2indexinfoも動作するはずです。 > >> pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんでし > た。 > pgs2destroyは、不要なインデックスの回収をするだけです。 > 異常なインデックスの回収はしません。 > >> 現象発生の原因として、気になる点が2点あります。 > 2点とも問題ないと思われます。 > リストアに関しては、以下の内容も参照してください。 > http://lists.sourceforge.jp/mailman/archives/ludia-users/2007-September/0000 > 86.html > > >> -----Original Message----- >> From: ludia-users-bounces @ lists.sourceforge.jp >> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of Kawanishi >> Tetsuo >> Sent: Wednesday, March 05, 2008 10:42 AM >> To: ludia-users @ lists.sourceforge.jp >> Subject: [Ludia-users 196] RE: RE: Re: Indexを用いた検索で、ヒットしな >> いことがあります >> >> >> 川西です。こんにちは。 >> >> pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんで >> した。 >> >> また、pgs2indexinfo()も行えない状態のままです。 >> SELECT * FROM pgs2indexinfo(); >> >> ERROR: pgsenna2: pgs2indexinfo cannot open senna index >> /var/lib/pgsql/data/base/2453394/4249058 >> >> >> また、対象のインデックスのREINDEXを行ったところ、修復できているようで >> す。 >> >> >> 現象発生の原因として、気になる点が2点あります。 >> >> 1点目はDBのRENAMEを行っている点です。 >> db_aというDBを使用しているとして、下記のようにrenameを行いました。 >> 例) >> db_a => db_b >> db_c => db_a >> >> 2点目、pg_dumpでdumpしたものを、pg_restoreして使用している点です。 >> pg_dumpはオプションに「-Fc」を付けました。 >> >> 上記は問題ありますでしょうか? >> >> よろしくお願いします。 >> >>> From: t_kawanishi @ hotmail.co.jp >>> To: ludia-users @ lists.sourceforge.jp >>> Date: Tue, 4 Mar 2008 12:39:07 +0900 >>> Subject: [Ludia-users 195] RE: Re: Indexを用いた検索で、ヒットしない >> ことがあります >>> >>> >>> 川西です。こんにちは。 >>> >>> 幸坂さん、ご回答ありがとうございます。 >>> >>>> ludia.sen_index_flagsの設定ミスはないですか? >>>> SELECT * FROM pgs2indexinfo(); >>>> で確認してみてください。 >>> >>> クエリを実行してみたところ、実行できず、以下のメッセージが出力されま >> した。 >>> ERROR: pgsenna2: pgs2indexinfo cannot open senna index >> /var/lib/pgsql/data/base/2453394/4249058 >>> >>> 上記のノード番号のインデックスはDB上に存在しなかったので、 >>> タイミングを見て、pgs2destroy() を行った後、再度試してみたいと思いま >> す。 >>> >>> また、SELECT * FROM pgs2getoption(); >>> の結果は下記のとおりです。 >>> -[ RECORD 1 ]------+------- >>> max_n_sort_result | 100000 >>> enable_seqscan | on >>> seqscan_flags | 1 >>> sen_index_flags | 19 >>> max_n_index_cache | 12 >>> initial_n_segments | 512 >>> >>> よろしくお願いします。 >>> >>>> Date: Tue, 4 Mar 2008 09:03:40 +0900 >>>> From: kousakadi @ nttdata.co.jp >>>> To: ludia-users @ lists.sourceforge.jp >>>> Subject: [Ludia-users 194] Re: Indexを用いた検索で、ヒットしないこと >> があります >>>> >>>> 幸坂です。こんにちは。 >>>> >>>> 可能性としては、以下の2点が考えられます。 >>>> >>>> ludia.max_n_sort_resultの値を過剰に小さくすると、 >>>> ヒット件数が少なくなります。 >>>> が、今回は関係なさそうです…。 >>>> >>>> ludia.sen_index_flagsの設定ミスはないですか? >>>> SELECT * FROM pgs2indexinfo(); >>>> で確認してみてください。 >>>> SET ludia.sen_index_flag to 19; >>>> として、設定に失敗するケースがよく見られます。 >>>> (flagは間違い。flagsが正しい。) >>>> >>>>> -----Original Message----- >>>>> From: ludia-users-bounces @ lists.sourceforge.jp >>>>> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of >> Kawanishi >>>>> Tetsuo >>>>> Sent: Monday, March 03, 2008 2:09 PM >>>>> To: ludia-users @ lists.sourceforge.jp >>>>> Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことが >> あり >>>>> ます >>>>> >>>>> >>>>> こんにちは。川西です。 >>>>> お世話になります。 >>>>> >>>>> インデックスを用いた検索で、ヒットしないことがあるのですが、 >>>>> 原因がわからず、困っています。 >>>>> 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 >>>>> >>>>> ▼ヒットしない >>>>> select * from people_2008 where id = 1 and name @@ '山田太郎'; >>>>> >>>>> ▼ヒットする >>>>> select * from people_2008 where id = 1 and name like '%山田太郎%'; >>>>> select * from people_2008 where id = 1 and name = '山田太郎'; >>>>> >>>>> また、カウントの結果にも誤差が出てきています。 >>>>> select count(*) from people_2008 where name @@ '山田太郎'; >>>>> => 41件ヒット >>>>> >>>>> select count(*) from people_2008 where name like '%山田太郎%'; >>>>> => 50件ヒット >>>>> >>>>> まだ試していませんが、reindexすることで解決する可能性はあると思いま >> すが、 >>>>> クラッシュ以外にこのような現象に陥る可能性は考えられますでしょう >> か? >>>>> >>>>> また、環境は以下の通りです。 >>>>> Redhat EL5 >>>>> PostgreSQL 8.2.5 >>>>> ludia-1.3.1 >>>>> senna-1.0.9 >>>>> ※CEにて年単位でテーブル分割を行っています。 >>>>> ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にし >> てい >>>>> ます。 >>>>> >>>>> >>>>> お手数おかけいたしますが、ご教示くださいますよう、 >>>>> よろしくお願いします。 >>>>> >>>>> Tetsuo Kawanishi >>>>> t_kawanishi @ hotmail.co.jp >>>>> _________________________________________________________________ >>>>> 栄養不足?MSN相談箱で「サプリメント」について知ろう! >>>>> >> http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X >>>>> qpeGl86XI >>>>> >>>>> _______________________________________________ >>>>> Ludia-users mailing list >>>>> Ludia-users @ lists.sourceforge.jp >>>>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >>>> >>>> _______________________________________________ >>>> Ludia-users mailing list >>>> Ludia-users @ lists.sourceforge.jp >>>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >>> >>> _________________________________________________________________ >>> 確定申告大丈夫?Live Searchで検索していろいろ下準備。 >>> >> http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7% >> 94%B3%E5%91%8A&FORM=MGCEAB >>> >>> _______________________________________________ >>> Ludia-users mailing list >>> Ludia-users @ lists.sourceforge.jp >>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >> >> _________________________________________________________________ >> 確定申告大丈夫?Live Searchで検索していろいろ下準備。 >> http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7% >> 94%B3%E5%91%8A&FORM=MGCEAB >> >> _______________________________________________ >> Ludia-users mailing list >> Ludia-users @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users _________________________________________________________________ 「脳内メーカー」の次は「鞄の中身メーカー」? Live Search で検索! http://search.msn.co.jp/results.aspx?q=%E9%9E%84%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC&FORM=MGCEAA From hirok @ mx4.canvas.ne.jp Sun Mar 9 01:17:30 2008 From: hirok @ mx4.canvas.ne.jp (hirok @ mx4.canvas.ne.jp) Date: Sun, 09 Mar 2008 01:17:30 +0900 Subject: [Ludia-users 199] =?iso-2022-jp?b?UG9zdGdyZVNRTDguMxskQiROOCE6dzdrMkwkSyREJC0bKEI=?= =?iso-2022-jp?b?GyRCJF4kNyRGGyhC?= In-Reply-To: <20071009.095218.01366134.tanakasns@nttdata.co.jp> References: <20071009.095218.01366134.tanakasns@nttdata.co.jp> Message-ID: 小谷と申します。 よろしくお願いします。 N-gramインデックスにて作成したフィールドの検索時に正しく検索結果が返って きませんでしたので、原因がわかる方がおられればお知らせいただきたく思いま す。 PostgreSQLを8.3.0のバージョンものを使用しているせいかもしれませんが。。。 使用したソフトウェア環境は以下のとおりです。 Linux CentOS 5.0 Ludia 1.4.0 Sennna 1.0.9 mecab 0.96 PostgreSQL 8.3.0 検証用にThinkitの記事と同様のテーブルを作成しました。 http://www.thinkit.co.jp/cert/article/0612/8/4/3.htm また、PostgreSQL 8.2.3 + Ludia 1.3.1 の結果も載せておきます。 142件のレコードが返ってくるのが正常と思われます。 ■1. addressフィールドにのみ2-gramインデックスを作成 SELECT * FROM zip WHERE address @@ '*D+ 春日町' OR zipcode = '春日町';  -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得  -> Postgres8.3.0 + Ludia 1.4.0 結果が0件 [explainの結果] Seq Scan on zip (cost=0.00..3507.68 rows=123 width=42) Filter: ((address @@ '*D+ 春日町'::text) OR ((zipcode)::text = '春日 町'::text)) ■2. zipフィールドにB-treeインデックスを作成 SELECT * FROM zip WHERE address @@ '*D+ 春日町' OR zipcode = '春日町';  -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得  -> Postgres8.3.0 + Ludia 1.4.0 正しくデータ取得 [explainの結果] Bitmap Heap Scan on zip (cost=9.50..364.11 rows=123 width=42) Recheck Cond: ((address @@ '*D+ 春日町'::text) OR ((zipcode)::text = '春日町'::text)) -> BitmapOr (cost=9.50..9.50 rows=123 width=0) -> Bitmap Index Scan on idx_ngram (cost=0.00..5.17 rows=122 width=0) Index Cond: (address @@ '*D+ 春日町'::text) -> Bitmap Index Scan on idx_zipcode (cost=0.00..4.27 rows=1 width=0) Index Cond: ((zipcode)::text = '春日町'::text) ■3. addressフィールドにのみ2-gramインデックスを作成し、*D+を削除 SELECT * FROM zip WHERE address @@ '春日町' OR zipcode = '春日町'; -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得 -> Postgres8.3.0 + Ludia 1.4.0 北海道紋別郡興部町興部(春日町)という データ1件のみ取得 [explainの結果] Seq Scan on zip (cost=0.00..3507.68 rows=123 width=42) Filter: ((address @@ '春日町'::text) OR ((zipcode)::text = '春日町':: text)) 以上、よろしくお願いいたします。 From iwasakims @ nttdata.co.jp Mon Mar 10 12:43:56 2008 From: iwasakims @ nttdata.co.jp (iwasakims @ nttdata.co.jp) Date: Mon, 10 Mar 2008 12:43:56 +0900 Subject: [Ludia-users 200] Re: =?iso-2022-jp?b?UG9zdGdyZVNRTDguMxskQiROOCE6dzdrMkwkSyREGyhC?= =?iso-2022-jp?b?GyRCJC0kXiQ3JEYbKEI=?= References: <20071009.095218.01366134.tanakasns@nttdata.co.jp> Message-ID: <3F764ED10646DC4496542563A6922D1B05AF1CF1@MAILSV13.msg.nttdata.co.jp> 岩崎です。こんにちは。 > N-gramインデックスにて作成したフィールドの検索時に正しく検索結果が返って > きませんでしたので、原因がわかる方がおられればお知らせいただきたく思いま PostgreSQL8.3からはtsearch2という これまでcontribにあった機能が標準で入っているのですが、 tsearch2も@@演算子を定義しているため、 そちらの関数が実行されていることが原因だと思われます。 (細かくいえば、PostgreSQL8.2以前のtsearch2の場合は、 右辺と左辺にtext型を取る@@演算子は定義していなかったため、 Ludiaと共存させても問題ありませんでした。) PostgreSQLのshareディレクトリにインストールされたpgsenna2.sqlを、 編集して@@と書いてある部分を他と被っていないもの(例えば%%)と 置き換えて試してみていただけないでしょうか? (ソースからインストールを繰り返し行うのであれば、 ソースアーカイブに含まれるpgsenna2_83.sql.inを編集したほうが効率的です。) PostgreSQL8.3以降向けの演算子については、 次のLudiaのリリースで変更される予感です。 -----Original Message----- From: ludia-users-bounces @ lists.sourceforge.jp [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of hirok @ mx4.canvas.ne.jp Sent: Sunday, March 09, 2008 1:18 AM To: ludia-users @ lists.sourceforge.jp Subject: [Ludia-users 199]PostgreSQL8.3の検索結果につきまして 小谷と申します。 よろしくお願いします。 N-gramインデックスにて作成したフィールドの検索時に正しく検索結果が返って きませんでしたので、原因がわかる方がおられればお知らせいただきたく思いま す。 PostgreSQLを8.3.0のバージョンものを使用しているせいかもしれませんが。。。 使用したソフトウェア環境は以下のとおりです。 Linux CentOS 5.0 Ludia 1.4.0 Sennna 1.0.9 mecab 0.96 PostgreSQL 8.3.0 検証用にThinkitの記事と同様のテーブルを作成しました。 http://www.thinkit.co.jp/cert/article/0612/8/4/3.htm また、PostgreSQL 8.2.3 + Ludia 1.3.1 の結果も載せておきます。 142件のレコードが返ってくるのが正常と思われます。 ■1. addressフィールドにのみ2-gramインデックスを作成 SELECT * FROM zip WHERE address @@ '*D+ 春日町' OR zipcode = '春日町';  -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得  -> Postgres8.3.0 + Ludia 1.4.0 結果が0件 [explainの結果] Seq Scan on zip (cost=0.00..3507.68 rows=123 width=42) Filter: ((address @@ '*D+ 春日町'::text) OR ((zipcode)::text = '春日 町'::text)) ■2. zipフィールドにB-treeインデックスを作成 SELECT * FROM zip WHERE address @@ '*D+ 春日町' OR zipcode = '春日町';  -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得  -> Postgres8.3.0 + Ludia 1.4.0 正しくデータ取得 [explainの結果] Bitmap Heap Scan on zip (cost=9.50..364.11 rows=123 width=42) Recheck Cond: ((address @@ '*D+ 春日町'::text) OR ((zipcode)::text = '春日町'::text)) -> BitmapOr (cost=9.50..9.50 rows=123 width=0) -> Bitmap Index Scan on idx_ngram (cost=0.00..5.17 rows=122 width=0) Index Cond: (address @@ '*D+ 春日町'::text) -> Bitmap Index Scan on idx_zipcode (cost=0.00..4.27 rows=1 width=0) Index Cond: ((zipcode)::text = '春日町'::text) ■3. addressフィールドにのみ2-gramインデックスを作成し、*D+を削除 SELECT * FROM zip WHERE address @@ '春日町' OR zipcode = '春日町'; -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得 -> Postgres8.3.0 + Ludia 1.4.0 北海道紋別郡興部町興部(春日町)という データ1件のみ取得 [explainの結果] Seq Scan on zip (cost=0.00..3507.68 rows=123 width=42) Filter: ((address @@ '春日町'::text) OR ((zipcode)::text = '春日町':: text)) 以上、よろしくお願いいたします。 _______________________________________________ Ludia-users mailing list Ludia-users @ lists.sourceforge.jp http://lists.sourceforge.jp/mailman/listinfo/ludia-users From t_kawanishi @ hotmail.co.jp Mon Mar 10 14:25:16 2008 From: t_kawanishi @ hotmail.co.jp (Kawanishi Tetsuo) Date: Mon, 10 Mar 2008 14:25:16 +0900 Subject: [Ludia-users 201] =?iso-2022-jp?b?IFJFOiAgIFJFOiAgUmU6IEluZGV4GyRCJHJNUSQkJD8bKEI=?= =?iso-2022-jp?b?GyRCOCE6dyRHISIlUiVDJUgkNyRKJCQkMyRIJCwkIiRqJF4kORsoQg==?= Message-ID: こんにちは。川西です。 一部ファイルがかけているINDEXを含むDBは 不必要だったため、DROPし、再度、pgs2indexinfoを行ったところ、 正常に動作しました。 そして、sen_index_flagsの値は"19"になっていました。 pgs2indexinfoが動作しないというのは、あまり関係なく、 ヒットしない現象が発生しているインデックスに対して、 REINDEXを行うことで正常に検索できるようになりました。 また、数ヶ月前にVACUUMに失敗することがあったため、 その影響で今回の現象が発生している可能性も考えれるため、 再度精査してみます。 ご解答いただき、ありがとうございました。 > From: t_kawanishi @ hotmail.co.jp > To: ludia-users @ lists.sourceforge.jp > Date: Thu, 6 Mar 2008 10:25:19 +0900 > Subject: [Ludia-users 198] RE: Re: Indexを用いた検索で、ヒットしないことがあります > > > こんにちは。川西です。 > > 幸坂さん、ご解答ありがとうございます。 > >> ls -l /var/lib/pgsql/data/base/2453394/4249058* >> とするとどうなるでしょうか。 >> 4249058.SEN 4249058.SEN.l 4249058.SEN.i 4249058.SEN.i.c >> は4つで1セットなのですが、一部のファイルが欠けていたり、 >> ファイルが破損していると、インデックス異常と見なされ、 >> 上記のエラーが発生します。 >> その場合、川西さんが行ったように、REINDEXすると、 >> 異常なインデックスは消え、pgs2indexinfoも動作するはずです。 > > 幸坂さんのおっしゃる通り、4249058、4249058.SENの2ファイルしか存在しませんでした。 > また、oid:2453394のDBは不要なDBですのでタイミングを見てDROPし、 > 再度pgs2indexinfoを実行してみます。 > >> 2点とも問題ないと思われます。 >> リストアに関しては、以下の内容も参照してください。 >> http://lists.sourceforge.jp/mailman/archives/ludia-users/2007-September/0000 >> 86.html > > create databaseの後、pgsenna2.sqlは実行しています。 > > 定期的なREINDEXも検討してみます。 > >> Date: Wed, 5 Mar 2008 16:21:40 +0900 >> From: kousakadi @ nttdata.co.jp >> To: ludia-users @ lists.sourceforge.jp >> Subject: [Ludia-users 197] Re: Indexを用いた検索で、ヒットしないことがあります >> >> 幸坂です。こんにちは。 >> >>> ERROR: pgsenna2: pgs2indexinfo cannot open senna index >>> /var/lib/pgsql/data/base/2453394/4249058 >> ls -l /var/lib/pgsql/data/base/2453394/4249058* >> とするとどうなるでしょうか。 >> 4249058.SEN 4249058.SEN.l 4249058.SEN.i 4249058.SEN.i.c >> は4つで1セットなのですが、一部のファイルが欠けていたり、 >> ファイルが破損していると、インデックス異常と見なされ、 >> 上記のエラーが発生します。 >> その場合、川西さんが行ったように、REINDEXすると、 >> 異常なインデックスは消え、pgs2indexinfoも動作するはずです。 >> >>> pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんでし >> た。 >> pgs2destroyは、不要なインデックスの回収をするだけです。 >> 異常なインデックスの回収はしません。 >> >>> 現象発生の原因として、気になる点が2点あります。 >> 2点とも問題ないと思われます。 >> リストアに関しては、以下の内容も参照してください。 >> http://lists.sourceforge.jp/mailman/archives/ludia-users/2007-September/0000 >> 86.html >> >> >>> -----Original Message----- >>> From: ludia-users-bounces @ lists.sourceforge.jp >>> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of Kawanishi >>> Tetsuo >>> Sent: Wednesday, March 05, 2008 10:42 AM >>> To: ludia-users @ lists.sourceforge.jp >>> Subject: [Ludia-users 196] RE: RE: Re: Indexを用いた検索で、ヒットしな >>> いことがあります >>> >>> >>> 川西です。こんにちは。 >>> >>> pgs2destroy()を行いましたが、結果は0件でインデックスは削除されませんで >>> した。 >>> >>> また、pgs2indexinfo()も行えない状態のままです。 >>> SELECT * FROM pgs2indexinfo(); >>> >>> ERROR: pgsenna2: pgs2indexinfo cannot open senna index >>> /var/lib/pgsql/data/base/2453394/4249058 >>> >>> >>> また、対象のインデックスのREINDEXを行ったところ、修復できているようで >>> す。 >>> >>> >>> 現象発生の原因として、気になる点が2点あります。 >>> >>> 1点目はDBのRENAMEを行っている点です。 >>> db_aというDBを使用しているとして、下記のようにrenameを行いました。 >>> 例) >>> db_a => db_b >>> db_c => db_a >>> >>> 2点目、pg_dumpでdumpしたものを、pg_restoreして使用している点です。 >>> pg_dumpはオプションに「-Fc」を付けました。 >>> >>> 上記は問題ありますでしょうか? >>> >>> よろしくお願いします。 >>> >>>> From: t_kawanishi @ hotmail.co.jp >>>> To: ludia-users @ lists.sourceforge.jp >>>> Date: Tue, 4 Mar 2008 12:39:07 +0900 >>>> Subject: [Ludia-users 195] RE: Re: Indexを用いた検索で、ヒットしない >>> ことがあります >>>> >>>> >>>> 川西です。こんにちは。 >>>> >>>> 幸坂さん、ご回答ありがとうございます。 >>>> >>>>> ludia.sen_index_flagsの設定ミスはないですか? >>>>> SELECT * FROM pgs2indexinfo(); >>>>> で確認してみてください。 >>>> >>>> クエリを実行してみたところ、実行できず、以下のメッセージが出力されま >>> した。 >>>> ERROR: pgsenna2: pgs2indexinfo cannot open senna index >>> /var/lib/pgsql/data/base/2453394/4249058 >>>> >>>> 上記のノード番号のインデックスはDB上に存在しなかったので、 >>>> タイミングを見て、pgs2destroy() を行った後、再度試してみたいと思いま >>> す。 >>>> >>>> また、SELECT * FROM pgs2getoption(); >>>> の結果は下記のとおりです。 >>>> -[ RECORD 1 ]------+------- >>>> max_n_sort_result | 100000 >>>> enable_seqscan | on >>>> seqscan_flags | 1 >>>> sen_index_flags | 19 >>>> max_n_index_cache | 12 >>>> initial_n_segments | 512 >>>> >>>> よろしくお願いします。 >>>> >>>>> Date: Tue, 4 Mar 2008 09:03:40 +0900 >>>>> From: kousakadi @ nttdata.co.jp >>>>> To: ludia-users @ lists.sourceforge.jp >>>>> Subject: [Ludia-users 194] Re: Indexを用いた検索で、ヒットしないこと >>> があります >>>>> >>>>> 幸坂です。こんにちは。 >>>>> >>>>> 可能性としては、以下の2点が考えられます。 >>>>> >>>>> ludia.max_n_sort_resultの値を過剰に小さくすると、 >>>>> ヒット件数が少なくなります。 >>>>> が、今回は関係なさそうです…。 >>>>> >>>>> ludia.sen_index_flagsの設定ミスはないですか? >>>>> SELECT * FROM pgs2indexinfo(); >>>>> で確認してみてください。 >>>>> SET ludia.sen_index_flag to 19; >>>>> として、設定に失敗するケースがよく見られます。 >>>>> (flagは間違い。flagsが正しい。) >>>>> >>>>>> -----Original Message----- >>>>>> From: ludia-users-bounces @ lists.sourceforge.jp >>>>>> [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of >>> Kawanishi >>>>>> Tetsuo >>>>>> Sent: Monday, March 03, 2008 2:09 PM >>>>>> To: ludia-users @ lists.sourceforge.jp >>>>>> Subject: [Ludia-users 191] Indexを用いた検索で、ヒットしないことが >>> あり >>>>>> ます >>>>>> >>>>>> >>>>>> こんにちは。川西です。 >>>>>> お世話になります。 >>>>>> >>>>>> インデックスを用いた検索で、ヒットしないことがあるのですが、 >>>>>> 原因がわからず、困っています。 >>>>>> 以下の通り、"like"や"="ではヒットしますが、@@ではヒットしません。 >>>>>> >>>>>> ▼ヒットしない >>>>>> select * from people_2008 where id = 1 and name @@ '山田太郎'; >>>>>> >>>>>> ▼ヒットする >>>>>> select * from people_2008 where id = 1 and name like '%山田太郎%'; >>>>>> select * from people_2008 where id = 1 and name = '山田太郎'; >>>>>> >>>>>> また、カウントの結果にも誤差が出てきています。 >>>>>> select count(*) from people_2008 where name @@ '山田太郎'; >>>>>> => 41件ヒット >>>>>> >>>>>> select count(*) from people_2008 where name like '%山田太郎%'; >>>>>> => 50件ヒット >>>>>> >>>>>> まだ試していませんが、reindexすることで解決する可能性はあると思いま >>> すが、 >>>>>> クラッシュ以外にこのような現象に陥る可能性は考えられますでしょう >>> か? >>>>>> >>>>>> また、環境は以下の通りです。 >>>>>> Redhat EL5 >>>>>> PostgreSQL 8.2.5 >>>>>> ludia-1.3.1 >>>>>> senna-1.0.9 >>>>>> ※CEにて年単位でテーブル分割を行っています。 >>>>>> ※indexはfulltextuにて作成し、ludia.sen_index_flagsの値は19にし >>> てい >>>>>> ます。 >>>>>> >>>>>> >>>>>> お手数おかけいたしますが、ご教示くださいますよう、 >>>>>> よろしくお願いします。 >>>>>> >>>>>> Tetsuo Kawanishi >>>>>> t_kawanishi @ hotmail.co.jp >>>>>> _________________________________________________________________ >>>>>> 栄養不足?MSN相談箱で「サプリメント」について知ろう! >>>>>> >>> http://questionbox.msn.co.jp/search.php3?start=0&pt=0&qt=all&k=pbWl16X >>>>>> qpeGl86XI >>>>>> >>>>>> _______________________________________________ >>>>>> Ludia-users mailing list >>>>>> Ludia-users @ lists.sourceforge.jp >>>>>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >>>>> >>>>> _______________________________________________ >>>>> Ludia-users mailing list >>>>> Ludia-users @ lists.sourceforge.jp >>>>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >>>> >>>> _________________________________________________________________ >>>> 確定申告大丈夫?Live Searchで検索していろいろ下準備。 >>>> >>> http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7% >>> 94%B3%E5%91%8A&FORM=MGCEAB >>>> >>>> _______________________________________________ >>>> Ludia-users mailing list >>>> Ludia-users @ lists.sourceforge.jp >>>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >>> >>> _________________________________________________________________ >>> 確定申告大丈夫?Live Searchで検索していろいろ下準備。 >>> http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7% >>> 94%B3%E5%91%8A&FORM=MGCEAB >>> >>> _______________________________________________ >>> Ludia-users mailing list >>> Ludia-users @ lists.sourceforge.jp >>> http://lists.sourceforge.jp/mailman/listinfo/ludia-users >> >> _______________________________________________ >> Ludia-users mailing list >> Ludia-users @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _________________________________________________________________ > 「脳内メーカー」の次は「鞄の中身メーカー」? Live Search で検索! > http://search.msn.co.jp/results.aspx?q=%E9%9E%84%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC&FORM=MGCEAA > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users _________________________________________________________________ 確定申告大丈夫?Live Searchで検索していろいろ下準備。 http://search.live.com/results.aspx?mkt=ja-jp&q=%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A&FORM=MGCEAB From hirok @ mx4.canvas.ne.jp Mon Mar 10 18:20:10 2008 From: hirok @ mx4.canvas.ne.jp (hirok @ mx4.canvas.ne.jp) Date: Mon, 10 Mar 2008 18:20:10 +0900 Subject: [Ludia-users 202] Re: =?iso-2022-jp?b?UG9zdGdyZVNRTDguMxskQiROOCE6dzdrMkwkSyREGyhC?= =?iso-2022-jp?b?GyRCJC0kXiQ3JEYbKEI=?= In-Reply-To: <3F764ED10646DC4496542563A6922D1B05AF1CF1@MAILSV13.msg.nttdata.co.jp> References: <20071009.095218.01366134.tanakasns@nttdata.co.jp> <3F764ED10646DC4496542563A6922D1B05AF1CF1@MAILSV13.msg.nttdata.co.jp> Message-ID: 岩崎さん 小谷です。詳しいご説明ありがとうございました。 なるほど、演算子の重複が問題でしたか。 おかげさまで、現在正常に動いているようです。 次期バージョンのLudiaが出た際には、そちらも利用させていただきます。 どうもありがとうございました。 さん: > 岩崎です。こんにちは。 > > > > N-gramインデックスにて作成したフィールドの検索時に正しく検索結果が返 って > > きませんでしたので、原因がわかる方がおられればお知らせいただきたく思 いま > > PostgreSQL8.3からはtsearch2という > これまでcontribにあった機能が標準で入っているのですが、 > tsearch2も@@演算子を定義しているため、 > そちらの関数が実行されていることが原因だと思われます。 > (細かくいえば、PostgreSQL8.2以前のtsearch2の場合は、 > 右辺と左辺にtext型を取る@@演算子は定義していなかったため、 > Ludiaと共存させても問題ありませんでした。) > > > PostgreSQLのshareディレクトリにインストールされたpgsenna2.sqlを、 > 編集して@@と書いてある部分を他と被っていないもの(例えば%%)と > 置き換えて試してみていただけないでしょうか? > (ソースからインストールを繰り返し行うのであれば、 > ソースアーカイブに含まれるpgsenna2_83.sql.inを編集したほうが効率的です。 ) > > > PostgreSQL8.3以降向けの演算子については、 > 次のLudiaのリリースで変更される予感です。 > > > > > -----Original Message----- > From: ludia-users-bounces @ lists.sourceforge.jp > [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of > hirok @ mx4.canvas.ne.jp > Sent: Sunday, March 09, 2008 1:18 AM > To: ludia-users @ lists.sourceforge.jp > Subject: [Ludia-users 199]PostgreSQL8.3の検索結果につきまして > > 小谷と申します。 > よろしくお願いします。 > > N-gramインデックスにて作成したフィールドの検索時に正しく検索結果が返っ て > きませんでしたので、原因がわかる方がおられればお知らせいただきたく思い ま > す。 > PostgreSQLを8.3.0のバージョンものを使用しているせいかもしれませんが。。 。 > > 使用したソフトウェア環境は以下のとおりです。 > > Linux CentOS 5.0 > Ludia 1.4.0 > Sennna 1.0.9 > mecab 0.96 > > PostgreSQL 8.3.0 > > > 検証用にThinkitの記事と同様のテーブルを作成しました。 > http://www.thinkit.co.jp/cert/article/0612/8/4/3.htm > > また、PostgreSQL 8.2.3 + Ludia 1.3.1 の結果も載せておきます。 > 142件のレコードが返ってくるのが正常と思われます。 > > > ■1. addressフィールドにのみ2-gramインデックスを作成 > > SELECT * FROM zip WHERE address @@ '*D+ 春日町' OR zipcode = '春日町'; > >  -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得 >  -> Postgres8.3.0 + Ludia 1.4.0 結果が0件 > > [explainの結果] > Seq Scan on zip (cost=0.00..3507.68 rows=123 width=42) > Filter: ((address @@ '*D+ 春日町'::text) OR ((zipcode)::text = '春 日 > 町'::text)) > > > ■2. zipフィールドにB-treeインデックスを作成 > > SELECT * FROM zip WHERE address @@ '*D+ 春日町' OR zipcode = '春日町'; > >  -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得 >  -> Postgres8.3.0 + Ludia 1.4.0 正しくデータ取得 > > [explainの結果] > Bitmap Heap Scan on zip (cost=9.50..364.11 rows=123 width=42) > Recheck Cond: ((address @@ '*D+ 春日町'::text) OR ((zipcode)::text = > '春日町'::text)) > -> BitmapOr (cost=9.50..9.50 rows=123 width=0) > -> Bitmap Index Scan on idx_ngram (cost=0.00..5.17 rows=122 > width=0) > Index Cond: (address @@ '*D+ 春日町'::text) > -> Bitmap Index Scan on idx_zipcode (cost=0.00..4.27 rows=1 > width=0) > Index Cond: ((zipcode)::text = '春日町'::text) > > > ■3. addressフィールドにのみ2-gramインデックスを作成し、*D+を削除 > > SELECT * FROM zip WHERE address @@ '春日町' OR zipcode = '春日町'; > > -> Postgres8.2.3 + Ludia 1.3.1 正しくデータ取得 > -> Postgres8.3.0 + Ludia 1.4.0 北海道紋別郡興部町興部(春日町)とい う > データ1件のみ取得 > > > [explainの結果] > Seq Scan on zip (cost=0.00..3507.68 rows=123 width=42) > Filter: ((address @@ '春日町'::text) OR ((zipcode)::text = '春日町' :: > text)) > > > 以上、よろしくお願いいたします。 > > > > > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users From iwasakims @ nttdata.co.jp Tue Mar 25 14:20:11 2008 From: iwasakims @ nttdata.co.jp (iwasakims @ nttdata.co.jp) Date: Tue, 25 Mar 2008 14:20:11 +0900 Subject: [Ludia-users 203] =?iso-2022-jp?b?THVkaWExLjUuMBskQiRyJWolaiE8JTkkNyReJDckPxsoQg==?= Message-ID: <3F764ED10646DC4496542563A6922D1B05E53B2F@MAILSV13.msg.nttdata.co.jp> 岩崎です。こんにちは。 Ludia1.5.0をリリースしました。 残念ながら今回のリリースでは、 PostgreSQL8.3のVACUUMに **対応していません** 。 PostgreSQL8.3でHOT機能を追加するために行われた変更に起因して、 VACUUM対応はこれまでと同じやり方では実現できず、 大きな改造が必要になることが分かったため、 そのまえにSenna最新版対応とバグフィックスの反映を含むバージョンを リリースすることになりました。 PostgreSQL8.3で利用した場合、 全文検索インデックス対象カラムへの更新が累積すると、 検索条件に一致しないような行が返される可能性がでてきます。 (VACUUM対応する以前のLudiaと同じ状態になります。) Ludia1.5.0は以下の変更を含んでいます。 Senna1.1.2対応 -------------- - 文字列の正規化を行うpgs2norm関数を追加。 - pgs2indexinfoのシグネチャ変更への対応。 (合計サイズが4Gbyte以上の場合に対応できない問題への対応) Snippet関数の改善 ----------------- - 文字列の連結を正しく扱えない問題の修正 - pgs2snippet1関数でキーワードが存在しない場合にNULLを返却する。 - pgs2snippet1で全角空白の扱いがSennaのクエリと異なる問題の修正。 その他の改善 ------------ - 同時に使用できるインデックス数が max_n_index_cacheではなく(max_n_index_cache - 1)となっていた問題の修正。 - VACUUM FULLを正常に実行できない問題の修正。 - 配列型インデックスで配列の要素がNULLの場合に対応。 - Mac OS Xでビルドスクリプトが正常に実行できない問題の修正。 - pgs2contains関数でGUCパラメータを正常に取得できない問題の修正 - Windows版インストーラでインストール済みのMeCabと共存可能に。 PostgreSQL8.3対応 ----------------- - 演算子を@@から%%に変更。 - GUCパラメータの初期化部分の修正。 - pgs2contain関数に高めのコストを設定。 - VACUUM実行時の処理を抑制。 -- 岩崎 正剛 / IWASAKI Masatake mailto:iwasakims @ nttdata.co.jp From kousakadi @ nttdata.co.jp Tue Mar 25 14:35:32 2008 From: kousakadi @ nttdata.co.jp (kousakadi @ nttdata.co.jp) Date: Tue, 25 Mar 2008 14:35:32 +0900 Subject: [Ludia-users 204] Re: =?iso-2022-jp?b?THVkaWExLjUuMBskQiRyJWolaiE8JTkkNyReJDcbKEI=?= =?iso-2022-jp?b?GyRCJD8bKEI=?= References: <3F764ED10646DC4496542563A6922D1B05E53B2F@MAILSV13.msg.nttdata.co.jp> Message-ID: <178CD7FD87EF4B4BB23F3D0B6C201D3F05862BBD@MAILSV11.msg.nttdata.co.jp> 幸坂です。こんにちは。 1点だけ補足します。 > PostgreSQL8.3で利用した場合、 > 全文検索インデックス対象カラムへの更新が累積すると、 > 検索条件に一致しないような行が返される可能性がでてきます。 > (VACUUM対応する以前のLudiaと同じ状態になります。) PostgreSQL8.3では、デフォルトでautovacuumがONになっているため、 全文検索インデックスへの更新が累積すると、岩崎さんが言うように、 検索結果に一致しない行が出力されてしまいます。 この状態を防ぐためには、常にautovacuumをOFFにし、 手動VACUUMが必要な場合は、VACUUM後にREINDEXを実行する、 という運用が必要となります。 > -----Original Message----- > From: ludia-users-bounces @ lists.sourceforge.jp > [mailto:ludia-users-bounces @ lists.sourceforge.jp] On Behalf Of > iwasakims @ nttdata.co.jp > Sent: Tuesday, March 25, 2008 2:20 PM > To: ludia-users @ lists.sourceforge.jp > Subject: [Ludia-users 203]Ludia1.5.0をリリースしました > > 岩崎です。こんにちは。 > > > Ludia1.5.0をリリースしました。 > > 残念ながら今回のリリースでは、 > PostgreSQL8.3のVACUUMに **対応していません** 。 > PostgreSQL8.3でHOT機能を追加するために行われた変更に起因して、 > VACUUM対応はこれまでと同じやり方では実現できず、 > 大きな改造が必要になることが分かったため、 > そのまえにSenna最新版対応とバグフィックスの反映を含むバージョンを > リリースすることになりました。 > > PostgreSQL8.3で利用した場合、 > 全文検索インデックス対象カラムへの更新が累積すると、 > 検索条件に一致しないような行が返される可能性がでてきます。 > (VACUUM対応する以前のLudiaと同じ状態になります。) > > Ludia1.5.0は以下の変更を含んでいます。 > > > Senna1.1.2対応 > -------------- > > - 文字列の正規化を行うpgs2norm関数を追加。 > - pgs2indexinfoのシグネチャ変更への対応。 > (合計サイズが4Gbyte以上の場合に対応できない問題への対応) > > > Snippet関数の改善 > ----------------- > > - 文字列の連結を正しく扱えない問題の修正 > - pgs2snippet1関数でキーワードが存在しない場合にNULLを返却する。 > - pgs2snippet1で全角空白の扱いがSennaのクエリと異なる問題の修正。 > > > その他の改善 > ------------ > > - 同時に使用できるインデックス数が > max_n_index_cacheではなく(max_n_index_cache - 1)となっていた問題の > 修正。 > - VACUUM FULLを正常に実行できない問題の修正。 > - 配列型インデックスで配列の要素がNULLの場合に対応。 > - Mac OS Xでビルドスクリプトが正常に実行できない問題の修正。 > - pgs2contains関数でGUCパラメータを正常に取得できない問題の修正 > - Windows版インストーラでインストール済みのMeCabと共存可能に。 > > > PostgreSQL8.3対応 > ----------------- > > - 演算子を@@から%%に変更。 > - GUCパラメータの初期化部分の修正。 > - pgs2contain関数に高めのコストを設定。 > - VACUUM実行時の処理を抑制。 > > > > -- > 岩崎 正剛 / IWASAKI Masatake > mailto:iwasakims @ nttdata.co.jp > > _______________________________________________ > Ludia-users mailing list > Ludia-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ludia-users From ssenou @ techno-mark.co.jp Wed Mar 26 12:06:16 2008 From: ssenou @ techno-mark.co.jp (ssenou) Date: Wed, 26 Mar 2008 12:06:16 +0900 Subject: [Ludia-users 205] =?iso-2022-jp?b?GyRCO0VNTSRLJEQkJCRGJE48QUxkJCwkIiRqJF4kORsoQg==?= References: <5d04aefa0801081749o3bfa18cvd6e0b3d35959965b@mail.gmail.com><178CD7FD87EF4B4BB23F3D0B6C201D3F048F78BB@MAILSV11.msg.nttdata.co.jp> <5d04aefa0801081934t424aa799x35defaf46f109ae7@mail.gmail.com> Message-ID: <00b601c88eee$5bc38500$c6c8020a@vapor> 瀬能です。 質問が3点あります 1.特殊文字の検索 (*,-,")等の記号を正規化に関わらず検索したい場合は "(ダブルクォーテーション)で括り単語(フレーズ)検索として 実行するという認識で正しいでしょうか? 2.単語(フレーズ)検索時の半角スペースの扱い ※ △は半角スペース DATA1:△AB DATA2:AB△ DATA3:A△B DATA4:A△△B 検索文字列 △AB△ で検索した場合 DATA1,DATA2がヒットする 検索文字列 A△B で検索した場合 DATA3,DATA4がヒットする 上記の事から前後の半角スペースは無視、又 半角スペースが1以上の場合も無視される という認識で正しいでしょうか? 3.@@→%% 変更後、 @@でも実行は可能でしたが、 @@では必ずシーケンシャルスキャンになってしまう様です。 @@と%%は別物という認識で正しいですか? 以上よろしくお願いします。 ■環境 Redhat Enterprise Linux 4 U6 ludia 1.5.0 (mecab-0.97 ipadic-2.7.0 senna-1.1.2 postgresql 8.3.0 From kousakadi @ nttdata.co.jp Wed Mar 26 16:15:01 2008 From: kousakadi @ nttdata.co.jp (kousakadi @ nttdata.co.jp) Date: Wed, 26 Mar 2008 16:15:01 +0900 Subject: [Ludia-users 206] =?iso-2022-jp?b?THVkaWEbJEIlUSVVJSkhPCVeJXMlOSEmJUElZSE8JUsbKEI=?= =?iso-2022-jp?b?GyRCJXMlMCEmJTslXyVKJE4kNDBGRmIbKEIoNC8yNSk=?= Message-ID: <178CD7FD87EF4B4BB23F3D0B6C201D3F0586317B@MAILSV11.msg.nttdata.co.jp> Ludia-userの皆様 幸坂@NTTデータです。こんにちは。 ---------------------------------------------------- 突然ですが、Ludiaを利用するにあたってこんなことで 困ったことはないでしょうか? ・思ったよりも性能が出ない。 ・インデックス構築に時間がかかりすぎる。 ・検索以外の機能(snippetなど)を高速にする方法がわからない。 ・検索しても、予想通りにヒットしない。 これらの問題を解決してLudiaの機能を十分に活かすためには 全文検索エンジン(Senna)に関する知識や DBMS(PostgreSQL)についての理解といった、 意外に多くのノウハウが必要になります。 そこで、1か月後の4月25日(金)に、 Ludiaパフォーマンス・チューニング・セミナを開催します! 上記のような問題の解決法に加えて、運用ノウハウなどもご紹介する予定です。 ぜひセミナに参加して、ノウハウを吸収してください。 ================================================= 第1回 Ludiaパフォーマンス・チューニング・セミナ ================================================= 開催概要 ======== 受講者レベル: LudiaとPostgreSQLをインストールして利用した経験あり 日時: 2008年4月25日(金) 14:00 - 17:30 (受付 13:50 開始) 会場: 〒135-8671 東京都江東区豊洲3-3-9    豊洲センタービルアネックス 28階 第3会議室 http://www.nttdata.co.jp/corporate/profile/outline/map.html 参加費: 19,800円[税込] 定員: 10名 お申し込み方法 ============== 以下のテンプレートの内容をご記入の上、メールにてお申し込み下さい。 (■印がついた項目は記入必須です。) お申し込み締め切りは4月11日(金)となります。 宛先: osdquery @ nttdata.co.jp 件名: 第1回 Ludiaパフォーマンス・チューニング・セミナ申し込み ---------------------------<ここから>------------------------- ■お申し込みのセミナー:Ludiaパフォーマンス・チューニング・セミナ(4月25日) ■ふりがな: ■受講者名: ■貴社名 : □部署名 : ■E-mail: ■TEL: □その他(※連絡事項など、ご自由にお書きください。): 請求書送付先 □ふりがな: □お名前: □貴社名: □部署名: □住所: 〒- □TEL: □FAX: □E-mail: ---------------------------<ここまで>------------------------- アジェンダ(予定) ================ ・全文検索に関する講義(60分) ・Ludiaチューニング演習(実機を用いたハンズオン形式)(150分) 演習問題サンプル ---------------- 下記のDDLで構築したテーブルに対して、 全文検索クエリを何度実行しても30秒かかってしまう。 DDLを変更せずに検索の処理時間を1秒以内に収めたい。 どのようにチューニングすれば良いか? DDL: CREATE TABLE book (country_id INT, title VARCHAR(100)); INSERT INTO book VALUES(1, 'ガリバー旅行記'); ---- 1000万件省略 ---- INSERT INTO book VALUES(2, 'Hinemosでできる!今日から始める運用管理'); CREATE INDEX idx_title ON book USING fulltextb((title::TEXT)); CREATE INDEX idx_country ON book(country_id); 検索クエリ: SELECT COUNT(*) FROM book WHERE country = 2 AND title @@ '管理'; --------------------------------------------- ■本件に関するお問い合わせ先 お問い合わせは、下記窓口までお寄せ下さい。 osdquery @ nttdata.co.jp --------------------------------------------- From asari @ users.sourceforge.net Thu Mar 27 08:14:59 2008 From: asari @ users.sourceforge.net (ASARI Takashi) Date: Thu, 27 Mar 2008 08:14:59 +0900 Subject: [Ludia-users 207] Re: =?iso-2022-jp?b?THVkaWExLjUuMBskQiRyJWolaiE8JTkkNyReJDcbKEI=?= =?iso-2022-jp?b?GyRCJD8bKEI=?= In-Reply-To: <3F764ED10646DC4496542563A6922D1B05E53B2F@MAILSV13.msg.nttdata.co.jp> References: <3F764ED10646DC4496542563A6922D1B05E53B2F@MAILSV13.msg.nttdata.co.jp> Message-ID: <5d04aefa0803261614x45e8ff1clf382326a9d0a96ce@mail.gmail.com> こんにちは。浅利といいます。 新しいバージョンのリリース、おめでとうございます。 開発者の皆様、お疲れ様です。さっそく使ってみたいと思います。 細かいことですが、 08/03/25 に iwasakims @ nttdata.co.jp さんは書きました: > - 演算子を@@から%%に変更。 pgsenna2.sql は %% に変更になっていますが、 $prefix/share/postgresql にインストールされる uninstall_pgsenna2.sql が @@ のままのように見えます。 ソースのアーカイブには uninstall_pgsenna2_83.sql があるようですので、 これはインストールスクリプトの関係でしょうか。 ともあれ、これで (REINDEX はしなければですが) 心置きなく 8.3 に移行できますね。うれしい限りです。 -- (株) RNAi 浅利 尚志 From hosoi @ ryo.com Fri Mar 28 13:23:12 2008 From: hosoi @ ryo.com (Ryosuke Hosoi) Date: Fri, 28 Mar 2008 13:23:12 +0900 Subject: [Ludia-users 208] Re: =?iso-2022-jp?b?THVkaWExLjUuMBskQiRyJWolaiE8JTkkNyReJDcbKEI=?= =?iso-2022-jp?b?GyRCJD8bKEI=?= In-Reply-To: <178CD7FD87EF4B4BB23F3D0B6C201D3F05862BBD@MAILSV11.msg.nttdata.co.jp> References: <3F764ED10646DC4496542563A6922D1B05E53B2F@MAILSV13.msg.nttdata.co.jp> <178CD7FD87EF4B4BB23F3D0B6C201D3F05862BBD@MAILSV11.msg.nttdata.co.jp> Message-ID: <292902e50803272123w6646bbbna40b588b130d2b0f@mail.gmail.com> こんにちは、細井です。 最近Ludiaを使いはじめまして、MLも少し前から購読してます。 08/03/25 に kousakadi @ nttdata.co.jp さんは書きました: > PostgreSQL8.3では、デフォルトでautovacuumがONになっているため、 > 全文検索インデックスへの更新が累積すると、岩崎さんが言うように、 > 検索結果に一致しない行が出力されてしまいます。 > この状態を防ぐためには、常にautovacuumをOFFにし、 > 手動VACUUMが必要な場合は、VACUUM後にREINDEXを実行する、 > という運用が必要となります。 PostgreSQLの話になってしまうのですが、特定のテーブルのみ autovacuumを行わないという運用もできるようです。 具体的にはpg_autovacuumというシステムカタログにレコードを作成する ことで、テーブル毎にautovacuumの設定を行えるのですが、その際 pg_autovacuum.enabledにfalseを指定すれば、自動バキュームされなく なるようです。 ==== 設定例ここから ==== ryo=# select oid,relname from pg_class where relname = 'groups'; oid | relname -------+--------- 19123 | groups (1 row) ryo=# insert into pg_autovacuum values (19123, false, -1, -1, -1, -1, -1, -1, -1, -1); INSERT 0 1 Time: 88.973 ms ==== 設定例ここまで ==== より詳しくはマニュアルの ・自動バキュームデーモン http://www.postgresql.jp/document/pg830doc/html/routine-vacuuming.html#AUTOVACUUM ・システムカタログ pg_autovacuum http://www.postgresql.jp/document/pg830doc/html/catalog-pg-autovacuum.html などをご確認ください。 -- Ryosuke Hosoi / 細井 良祐 mailto:rhosoi @ gmail.com http://www.ryo.com/