Teodor Sigaev wrote: >> We are trying to get something faster than ~ '%foo%'; >> Which Tsearch2 does not give us :) > > Hmm, why not with GIN? :) Although, right now GIN doesn't support prefix > search, it's possible to use it. Well they run 8.1 :) Joshua D. Drake > > Brain storm method: > > Develop a dictionary which returns all substring for lexeme, for example > for word foobar it will be 'foobar fooba foob foo fo oobar ooba oob oo > obar oba ob bar ba ar'. And make GIN functional index over your column > (to save disk space). > So, your query will be looked as > select ... where to_tsvector(text_column) @@ 'foo'; > Notices: > Time of search in GIN weak depend on number of words (opposite to > tsearch2/GiST), but insertion of row may be slow enough.... > -- === The PostgreSQL Company: Command Prompt, Inc. === Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240 Providing the most comprehensive PostgreSQL solutions since 1997 http://www.commandprompt.com/ Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate