チケット #11620

fulltextb使用時に「0」の検索が出来ない
登録: 2008-01-09 16:11 最終更新: 2008-01-10 10:55

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
オープン
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

■環境
Redhat Enterprise Linux 4 U5
ludia 1.4.0 (mecab-0.96 ipadic-2.7.0 senna-1.0.9
postgresql 8.2.4

■DB
table : id int4(主キー),data text
index : fulltextb

■データ
id=1 : data=01

■現象
table.dataを「0」で検索してもヒットしません。

fulltextbのインデックスに対して1文字の検索を実行した場
合、
完全一致検索ではヒットしない為、部分一致検索が走りヒッ
トすると予想したのですが
ヒットしませんでした。

検索文字列が「1」ではヒットし
id=1 : data=AB 検索文字列「A」
などでもヒットするので検索文字列「0」の挙動が怪しいで
す。

以上、よろしくお願いします。

チケットの履歴 (1 件中 1 件表示)

2008-01-10 10:55 更新者: co-saka
コメント
Logged In: YES
user_id=23292

こちらでは、以下のデータで試してみました。
id=1 : data=あ01い
id=2 : data=う10え
0で検索すると、「あ01い」がヒットし、
1で検索すると、「う10え」がヒットします。
(確実にインデックススキャンさせるために、
 set enable_seqscan to off; としています。)

fulltextbの場合は、英数字・記号は分割されません。
上記の例では、「あ、01、い」と分割され、
それぞれに対して、前方一致検索が行われます。
ssnさんの意図しているように数字を分割して検索したい場合、
fulltextuを用いて、SEN_INDEX_SPLIT_DIGITを使用します。
http://ludia.sourceforge.jp/cgi-
bin/moin.cgi/LudiaReadme#id19

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする