Re: [HACKERS] indices: ~* / text_ops
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] indices: ~* / text_ops |
Дата | |
Msg-id | 199810021637.MAA10824@candle.pha.pa.us обсуждение исходный текст |
Ответ на | indices: ~* / text_ops (Bernhard Lorenz <bernhard.lorenz@iconsult.at>) |
Список | pgsql-hackers |
[Charset ISO-8859-1 unsupported, filtering to ASCII...] > hullo, > > ive two serious problems with postgresql (latest version): > > 1.) i seem to be unable (well, i _am_ ;-) to create an index > on a text field and then have that index being used if > i perform a search using ~*, ~~, and related operators. > i found out that these operators can only successfully > be implemented if i use box* field types etc. this is a real > pain, since i have that database with more than 70,000 > entries and it always does a sequential scan. > a query might look like > "select * from table where field ~* 'string'" or > "select * from table where field ~~ '%string%' etc. > there are indices (hash, btree, (field text_ops)), but > they wont be used. > can anybody of you possibly help me any further on this issue? Indexes on strings can only be used if the start of the string is anchored with ^ because the index only sorts the strings starting with the first character. I have added this to the FAQ, which is on the web site. > > 2.) another thing i noticed is that while "~*" is supposed to > perform a case insensitive search, it does not. i havent > checked too much into the bug behind it (like "all ascii > values > 127 ..."), but the typical austrian and german > characters like "ae" with two dots (forgot the terminologically > exact name, forgive me) etc. will not be searched > properly, thus, if i have a field entry with > 'AEyadayada' > and perform a search with > ... ~* 'aeyadayada', > it wont find anything, i have to use ~* 'AEyadayada'. > opinions on that one woul dbe appreciated as well! > Not sure how we handle this. I don't think we handle this, but we should, but it is hard. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
В списке pgsql-hackers по дате отправления: