Tasneem,
> > The margins to the op2, i.e. m1 and m2, are added dynamically on
> > both the sides, considering the value it contains. To keep this
> > margin big is important for a certain reason discussed later.
> > The NEAR operator is supposed to obtain the values near to the op2,
> > thus the target membership degree(md) is initially set to 0.8.
> > The algorithm compares the op1(column) values row by row to the
> > elements of the set that NEAR defined, i.e. the values from md 1.0
> > to 0.8, adding matching tuples to the result set.
Are we talking about a mathematical calculation on the values, or an algorithm
against the population of the result set? I'm presuming the latter or you
could just use a function. If so, is NEAR an absolute range or based on
something logarithmic like standard deviation?
Beyond that, I would think that this mechanism would need some kind of extra
heuristics to be at all performant, otherwise you're querying the entire
table (or at least the entire index) every time you run a query. Have you
given any thought to this?
--
Josh Berkus
PostgreSQL @ Sun
San Francisco