Re: knngist - 0.8 - Mailing list pgsql-hackers
From | Alexander Korotkov |
---|---|
Subject | Re: knngist - 0.8 |
Date | |
Msg-id | AANLkTi=h8thE74d0K_A-g=0TSLbZuNSHicH7hGZWGnD0@mail.gmail.com Whole thread Raw |
In response to | Re: knngist - 0.8 (Robert Haas <robertmhaas@gmail.com>) |
Responses |
Re: knngist - 0.8
Re: knngist - 0.8 |
List | pgsql-hackers |
In gist consitent method support only filtering strategies. For such strategies consistent method returns true if subtreecan contain matching node and false otherwise. Knngist introduce also order by strategies. For filtering strategiesknngist consistent method returns 0 if subtree can contain matching node and -1 otherwise. For order by strategiesknngist consistent method returns minimal possible distance in subtree. I think we can use consistent method withorder by strategies not only for ordering but also for filtering. If query contain assertion that distance is less thansome value, than we can call consistent method with order by strategy and compare result with query value in order todetermine whether scan subtree. Such approach can give benefit when we need to filter by similarity. For example, in pg_trgm"%" is used for similarity filtering, but similarity threshold is global for session. That's why we can't create complexqueries which contain similarity filtering with different threshold. <br /><br />----<br />With best regards,<br /><fontcolor="#888888">Alexander Korotkov.</font><br clear="all" /><br /><br /><br /><div class="gmail_quote">On Mon, Aug2, 2010 at 8:14 PM, Robert Haas <span dir="ltr"><<a href="mailto:robertmhaas@gmail.com">robertmhaas@gmail.com</a>></span>wrote:<br /><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> 2010/7/29 Alexander Korotkov<<a href="mailto:aekorotkov@gmail.com">aekorotkov@gmail.com</a>>:<br /><div class="im">> But, in pg_trgmit makes it possible to combine different similarity levels<br /> > in one query. For example:<br /> > select* from test_trgm order by t <-> 'asdf' < 0.5 or t <-> 'qwer' < 0.4;<br /> > Is there any chanceto handle this syntax also?<br /><br /></div>Maybe I'm missing something, but I don't think that ORDER BY clause<br/> makes much sense. OR is going to reduce a true or false value - and<br /> it's usually not that interestingto order by a column that can only<br /> take one of two values.<br /><br /> Am I confused?<br /><font color="#888888"><br/> --<br /> Robert Haas<br /> EnterpriseDB: <a href="http://www.enterprisedb.com" target="_blank">http://www.enterprisedb.com</a><br/> The Enterprise Postgres Company<br /></font></blockquote></div><br />
pgsql-hackers by date: