- PR -

全文検索Ludiaについて

1
投稿者投稿内容
KKF
常連さん
会議室デビュー日: 2008/03/09
投稿数: 24
投稿日時: 2008-07-30 22:42
お世話になっております。

現在、LUNIX環境でショッピングサイトを構築しています。
Ludiaを使って全文検索を実行し、且つその結果をソートして
表示したいのですが、どうしても処理結果が返るのに10秒以上
掛かってしまいます。
検索結果を一瞬(せめて3秒以内)で返るようにしたいのですが、
何かよい方法はございませんでしょうか?
以下に環境などの詳細設定を明記します。

[環境]
OS:CentOS5.1
DB:PostgreSQL 8.3.1
Ludia:1.5.0 (mecab-0.97 ipadic-2.7.0 senna-1.1.2)

[詳細]
現在、商品が入力されているテーブルの件数は約1200万件あります。
このテーブルから全文検索を以下の方法で行いました。

処理1)SELECT * FROM 商品テーブル WHERE 商品名 %% 'ソファ' LIMIT 5 OFFSET 10;
処理2)SELECT * FROM 商品テーブル WHERE 商品名 %% 'ソファ' ORDER BY price LIMIT 5 OFFSET 10;

処理1の結果は1秒以内に返ってくるのですが、処理2の結果は1分近くかかってしまいます。

色々と調べて、postgresql.confのshared_buffersのメモリを24Mから128Mに増やしたのですが、Postgresqlの再起動でpg_ctrを行うとエラーメッセージが発生し、
その後DBに接続できなくなってしまいます。

どうにかorderby検索を3秒以内で済ませたいのですが、何か良い方法はありませんでしょうか?

ご教示お願い致します。









[ メッセージ編集済み 編集者: JDOG 編集日時 2008-08-02 10:22 ]

[ メッセージ編集済み 編集者: JDOG 編集日時 2008-08-02 10:23 ]
1

スキルアップ/キャリアアップ(JOB@IT)