Hello all,
I recently have noticed that a few search queries on one of our customers' premises have started behaving differently after an upgrade from OTCS 16.0.5 to 16.2.2.
One of the original queries looked like this:
("OTSubType":848) AND ( ("Attr_123456_4" : qlright-truncation "abc") OR ("Attr_123456_26" : qlright-truncation "abc") )
which used to return all objects that, at the same time:
- are business workspaces.
- have a specific category associated.
- contained a word starting with the search term ('abc' in the example) in one of two specific fields of the category.
I did a few quick tries against the search WebService and the "search" request handler on the 16.2.2 system and:
- it appears that the boolean operators in text form ( "AND", "OR", ..) are no longer interpreted as before. In some cases I managed to replace them successfully with the alternative syntax ('|' for 'OR', for example, works, while I had some issues with the '&').
- using parenthesis to enclose clauses is behaving a bit differently. In the example above, the only way I found to make the query work as before the upgrade is to move around the clauses:
original (used to work on 16.0):
A and (B or C)
had to change it to (on 16.2):
(A and

or (A and C)
So, in the end, I had to trasform the query above to this new format in order to get the same results:
(("OTSubType":848)("Attr_123456_4" : qlright-truncation "abc"))|(("OTSubType":848)("Attr_123456_26" : qlright-truncation "abc") ))
I tried to dig around, and I did find a couple sentences in the 16.2 Release Notes that mention changes in the LQL syntax, but it doesn't really feel to me they should affect this scenario.
Has anyone experienced similar issues? Or perhaps is it me having used LQL in a wrong way?
Also, if anyone is aware of any resource on the KB that details the changes in the syntax, could you please point me to it?
Thank you very much.
Fabio