Hi Henrik,

>             ((a1 +Similarity @A a2 +Similarity @A))
> ...
> According to Alex the generator clause in question is the equivalent
> of an SQL OR clause, it is however returning NIL instead of the

Right. The "normal" clause

>             ((a1 +Similarity @A))

tells Pilog to search the 'a1' index of the class '+Similarity'.

The above version in turn says to first search the 'a1' index tree, and
when all entries matching '@A' are traversed, continue with the 'a2'
tree. So this is like an OR of both sets of data. It looks perfectly all
right to me.

Do you get the expected values if you ask

   : (? (db a1 +Similarity "ValueForA1" @X) (show @X))


   : (? (db a2 +Similarity "ValueForA2" @X) (show @X))

> Now if ((a1 +Similarity @A a2 +Similarity @A)) was really an OR clause
> it should return the same result as ((a1 +Similarity @A)), but it's


> obviously not so we missed something, but what?

What is the result? Does it return nothing at all?

- Alex

Reply via email to