Re: using text search

Поиск
Список
Период
Сортировка
От Rafał Pietrak
Тема Re: using text search
Дата
Msg-id 51768D11.1050903@zorro.isa-geek.com
обсуждение исходный текст
Ответ на Re: using text search  (Alfonso Afonso <aafonsoc@gmail.com>)
Список pgsql-general
Ha! Got it!

for enybody whois interested:

with tst(regexp) as (SELECT '(' || array_to_string(array_agg(phrase),
'|') || ')' from KEYWORDS) select o.* from ORDERS o, tst t where o.info
~ t.regexp;

execution time: 6400ms. (keywords=4, orders=1mln)

BTW: does anybody know if there is an index, that could improve the
performence of the above regexp?

-R


W dniu 04/23/2013 02:30 PM, Alfonso Afonso pisze:
> Hi Rafal
>
> This function returns the position where the substring is found, so you could do a query with clause
position(table1.fieldin table2.field) 
>
> The 0 result is not found and maybe, in your case, is faster the use of internal text functions instead of like
comparison...hope helps. 
>
> Bye
>
> El 23/04/2013, a las 11:24, Rafał Pietrak <rafal@zorro.isa-geek.com> escribió:
>
>> W dniu 04/22/2013 08:43 PM, Alfonso Afonso pisze:
>>> I forgot to say that the function is "position ( txtseach in txtcomplete)" :)
>>>
>>> Bye
>>
>> Alfonso, thenx
>>
>> But if I may: How can I use that function? In a context of my problem?
>>
>> then again. At the edge of desperation, I'm thinking of writing a function, that will fetch all the KEYWORDS in one
query,then cook explicit WHERE clause by string operations, and then EXECUTE it. With (currently) four keywords, I'd
expectsuch function to return results within 5 seconds at most. 
>>
>> but I'd expect that there should be a way to "tell this" to postgresql SQL directly. Isn't it?
>>
>>
>> -R
>>
>>
> Alfonso Afonso
> (personal)
>
>
>
>
>
>
>



В списке pgsql-general по дате отправления:

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: inserting into "date" field returns error (COPY/BINARY)
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Memory usage after upgrade to 9.2.4