Tíquete #11620

fulltextb使用時に「0」の検索が出来ない
: 2008-01-09 16:11 Última Atualização: 2008-01-10 10:55

Relator:
Dono:
(Nenhum)
Tipo:
Estado:
Aberto
Componente:
(Nenhum)
Marcos:
(Nenhum)
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Nenhum
Arquivo:
Nenhum

Details

■環境
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
Comentário
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

Editar

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