I'm doing a cmis query in SOLR in Search Services 1.2 for the conjunction of two predicates.
Property A is a text property and must match a regex with a fixed prefix followed by a wildcard.
Property B is a datetime property and must have a null value.
When I search for each of these in isolation, I can verify that there's nodes that match both.
IE.
SELECT * FROM xx:myNodeType WHERE xx.A LIKE 'ABC%'
and
SELECT * FROM xx:myNodeType WHERE xx.B IS NULL
intersects in found results.
Lets assume that the intersection contains a single node where property A is 'ABCD'.
If I replace the wildcard with an exact match instead of just the prefix and check that property B is null, I am also able to find the node.
I.e.
SELECT * FROM xx:myNodeType WHERE xx.A LIKE 'ABCD' and xx.B IS NULL
works.
However, when I use the same conjunction with the wildcard query, no results are found.
I.e.
SELECT * FROM xx:myNodeType WHERE xx.A LIKE 'ABC%' and xx.B IS NULL
There's no errors or anything in the log. The search simply returns an empty list.
Our model has evolved over time and we have around 10000 nodes where some were created before property B was added to the model. My best guess is that the problem is somehow related to this. I have deleted and recreated the SOLR indexes with no effect.
Any suggestions?