Thread: Re: To all the pgsql developers..Have a look at the operators proposed by me in my researc

 
> From: decibel@decibel.org
> To: tasneememon@hotmail.com
> CC: pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] To all the pgsql developers..Have a look at the operators proposed by me in my researc
>
> On Sat, Jun 02, 2007 at 01:37:19PM +0000, Tasneem Memon wrote:
> > We can make the system ask the user as to what membership degree s/he wants to get the values, but we don?t want to make the system interactive, where a user gives a membership degree value of his/her choice. These operators are supposed to work just like the other operators in SQL.. you just put them in the query and get a result. I have put 0.8 because all the case studies I have made for the NEAR, 0.8 seems to be the best choice.. 0.9 narrows the range.. 0.75 or 0.7 gets those values also that are irrelevant.. However, these values will no more seem to be irrelevant when we haven?t got any values till the md 0.8, so the operator fetches them when they are the NEARest.
>
> While having them function just like any other operator is good, it
> seems like you're making quite a bit of an assumption for the user;
> namely that you know what their data looks like better than they might.
> Is it not possible that someone would come along with a dataset that
> looks different enough from your test cases so that the values you
> picked wouldn't work?
> --
> Jim Nasby decibel@decibel.org

I believe that for the most cases it will get you the relevant results; because the size of the set depends on how big the value in operand2 is, and so does the set defined by NEAR. I have taken the values as small as 6 and as large as 2147,483,647 and it gives good results. For example:

      For 6, the range defined by NEAR is:                               4 – 8

      For 2147,483,647, the range defined by NEAR is:           1717,986,917 2576,980,377

But yes, for other cases it may not give good results. We can give the option for the user to specify the membership degree, or one can always use the BETWEEN operator when he knows the thresholds exactly.

 

- Tasneem Memon

 


Explore the seven wonders of the world Learn more!
Tasneem,

> For example: For 6,
> the range defined by NEAR is:                               4 – 8 For
> 2147,483,647, the range defined by NEAR is:           1717,986,917 –
> 2576,980,377 But yes, for other cases it may not give good results. We can
> give the option for the user to specify the membership degree, or one can
> always use the BETWEEN operator when he knows the thresholds exactly.

Oh, so this is actually based on a direct calculation on the values, rather
than on the population of data.  That's much easier; heck, you could index on
it.

--
Josh Berkus
PostgreSQL @ Sun
San Francisco