Boolean searches in ES
Another class of issues with boolean searches in ES (PROV 1.6, 1.7). It looks like
(ca_objects.date:1970) OR (ca_object_labels.name:sunset)
and
(ca_objects.date:1970) AND (ca_object_labels.name:sunset)
are both translated to the same query for ES, the date becomes a query filter in both cases. As a result the OR queries are incorrect.
Anyone else experiencing these issues? Thanks.
(ca_objects.date:1970) OR (ca_object_labels.name:sunset)
and
(ca_objects.date:1970) AND (ca_object_labels.name:sunset)
are both translated to the same query for ES, the date becomes a query filter in both cases. As a result the OR queries are incorrect.
Anyone else experiencing these issues? Thanks.
Comments
smith NOT smith
gets sent to ES as
"(+(smith) (smith)) AND (ca_objects\\/deleted:0)"
and returns all the objects related to smith, instead of none at all.
PROV-1924
PROV-1925 (this one also involves SqlSearch)
With the addition of PROV-1791 and PROV-1915 , we can probably blame the ES query rewrite engine for brawny ElasticSearch not really being boolean-smart...