Hi Rob (& others),
[CQL prox vs. Adlib When boolean]
> > I'll add adlib.when and adlib.whennot modifiers to the 'and'
boolean, that's a better solution I guess.
> It's certainly better than incorrectly implementing prox, yes.
> However what would be best is if we could decide how best to make CQL
provide a sensible mapping for
> your operator.
Adding two new boolean operators would also do the trick, but since the
CQL booleans are not extensible, as opposed to relation and modifiers, I
chose that path (after getting stuck on the prox modifier). If you want
to add something to CQL, be my guest. But I do have to finish my code,
so I'm afraid I don't want to wait for that..
> >> So adlib.allIndexes will search all indexes in the adlib
> > Yep, the adlib context set being all indexes defined for the
> Errr, no. To clarify: The adlib context-set contains only the bits
that you would
> prefix with 'adlib.' in the CQL. So for example, adlib.allIndexes
would NOT search dc.title or
> net.host, but would search adlib.foo and adlib.bar
Ah. But how do I define it then, in a way that doesn't 'trample' CQL ?
And another question: it's possible (and allowed) to map an index to
more than one context set, right? Then why won't you allow me to define
the adlib context set as: all indexes the exported database knows
(natively)? Seems valid CQL to me..
If I may say so: CQL defines a lot of (fortunately optional) pretty
esoteric stuff like word proximity searches and the prox operator, and
is prepared for implementation dependent things like relation modifiers.
All of this leads me to the conclusion that CQL is supposed to be
pluggable for any kind of search language, with it's own quirks. But
what happens when I file a profile in which I neatly define all these
quirks? Big discussions & lots of trouble (for me) to get our 'expert
search' lined up with CQL. Is it just me being cranky on my first
working day of 2005 (Happy new year BTW!), or isn't CQL as flexible as
Hedzer Westra, Systems Developer
Adlib | Information Systems
3542 AD Utrecht
3600 BK Maarssen
tel: +31-30-241 1885