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:

Previous
From: Greg Stark
Date:
Subject: Re: Universal B-tree
Next
From: Brendan Jurd
Date:
Subject: Re: patch: to_string, to_array functions