[Ludia-users 243] 検索漏れがある際の調査方法について

アーカイブの一覧に戻る

Daisuke Yamazaki yama****@scale*****
2009年 10月 23日 (金) 21:53:13 JST


株式会社スケールアウト 山崎と申します.

Ludiaを使ったシステムを構築しているのですが,検索に対して漏れが
あるようで調査をしております.

データなどの再現方法を表に出せないため,検索漏れがある際の調査方法を
模索しております.さらに詳細な調査を行う方法やヒントがあれば教えて
もらえると幸いです.

下記本現象が起きる環境と
http://sourceforge.jp/projects/ludia/lists/archive/users/2008-March
/000190.html
始まるスレッドを参考に試行錯誤した内容になります.

0. 環境
CentOS release 5.2(x86_64)
PostgreSQL 8.2.11
ludia 1.5.1(pgs2version()より)
senna 1.1.4 (pgs2seninfo()より)
インデックスの作成方法 fulltextb()
CREATE INDEX idx_senna_items_name ON items USING fulltextb((name::text));


1. クエリ内容
SELECT * FROM "items" WHERE (items.name @@ E'"xxx"') ;
xxxは3文字の日本語でUTF-8になります.

2. クエリ結果
一部返ってきて欲しいレコードが返ってきません.
69件返ってきて欲しいところ 57件

3. REINDEXをテーブル,DBともに行った結果
複数回行いましたが,変わりませんでした.

4. DROP INDEX, CREATE INDEXを行った結果.
DROP indexを行った場合,クエリは正しく返ってきました.ただこれは
インデックスがないことによるシーケンシャルスキャンの結果だと思われます.
またCREATE INDEXをやり直しても結果は同じでした.
こちらも複数回行いました.

5. データベースの再作成
vacuumがらみの可能性を排除したかったので,dropdbを行い,
DBを再作成しました.こちらも結果は同じでした.

以上,よろしくお願いします.
--
株式会社 スケールアウト 
代表取締役社長 山崎大輔 Daisuke Yamazaki <yama****@scale*****>
Blog:最速配信研究会
http://d.hatena.ne.jp/yamaz/




Ludia-users メーリングリストの案内
アーカイブの一覧に戻る