Oleg Bartunov wrote:
On Mon, 26 Sep 2005, Yonatan Ben-Nes wrote:

Hi again everyone,

Oleg I tried tsearch2 and happily it does work wonderfully for me returning results extremly fast and actually its working even better then I wanted with all of those neat features like: lexem, weight & stop words.

I got only one problem which is when I want the results to be ordered by a diffrent field (like print INT field) it takes quite alot of time for it to do it if the query can return lots of results (for example search for the word "computer") and thats even if I limit the results. The best way to improve its speed for such quereies (that I've found...) is to create an index on the field which I want to order by and using it CLUSTER the table, after the clustering I drop the the index so it won't be used when I run queries with ORDER BY on that field, that seem to improve the speed, if anyone got a better idea ill be glad to hear it.


what's your actual query ?  have you tried multicolumn index ?



Anyway thanks alot everyone!
 Ben-Nes Yonatan


    Regards,
        Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Hi Oleg,

I can't use a multicolumn index cause I already use on that table the tsearch2 index, here is the query:

EXPLAIN ANALYZE SELECT product_id,final_price FROM product WHERE keywords_vector @@ to_tsquery('cat') ORDER BY retail_price LIMIT 13;

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=4.02..4.03 rows=1 width=39) (actual time=367.627..367.654 rows=13 loops=1) -> Sort (cost=4.02..4.03 rows=1 width=39) (actual time=367.622..367.630 rows=13 loops=1)
         Sort Key: retail_price
-> Index Scan using product_keywords_vector_idx on product (cost=0.00..4.01 rows=1 width=39) (actual time=0.056..276.385 rows=14295 loops=1)
               Index Cond: (keywords_vector @@ '\'cat\''::tsquery)
 Total runtime: 370.916 ms
(6 rows)

Now this is the result after its already at the cache (made such a query b4), the first time I ran this query it took few seconds...

Thanks as always :),
  Ben-Nes Yonatan

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to