待辦事項 #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」の挙動が怪しいで
す。

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

Ticket History (1/1 Histories)

2008-01-10 10:55 Updated by: 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

Attachment File List

No attachments

編輯

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登入