Hi everyone,
 I found solr 5.5.4 is doing some unexpected behavior (at least unexpected
for me) when using Must and Must not operator and parenthesis for filtering
and it would be great if someone can confirm if this is unexpected or not
and why.

To clarify I will write an example:
The following problematic query should give results but it is actually not
giving anyi
q=*:*&defType=edismax&fq=NOT(status:"DELETED")+AND+(NOT(length:[1860000+TO+3659999])+AND+NOT(length:[3660000+TO+*]))
which is parsed as -dynamic_multi_stored_facet_string_static_status:DELETED
+(-dynamic_multi_stored_facet_long_core_length:[1860000 TO 3659999]
-dynamic_multi_stored_facet_long_core_length:[3660000 TO *])

If I rewrite the query removing the enclosing parentheses as
q=*:*&defType=edismax&fq=NOT(status:"DELETED")+AND+NOT(length:[1860000+TO+3659999])+AND+NOT(length:[3660000+TO+*]))
is parsed as -dynamic_multi_stored_facet_string_static_status:DELETED
-dynamic_multi_stored_facet_long_core_length:[1860000 TO 3659999]
-dynamic_multi_stored_facet_long_core_length:[3660000 TO *]
and it gives the expected results.

Again if the parenthesis enclosed condition is alone as
q=*:*&defType=edismax&fq=(NOT(length:[1860000+TO+3659999])+AND+NOT(length:[3660000+TO+*]))
it is pased as (-dynamic_multi_stored_facet_long_core_length:[1860000 TO
3659999] -dynamic_multi_stored_facet_long_core_length:[3660000 TO *]) and
giving more results.

Do you have any idea why is this happening?

Thanks for your help,
Alfonso.

-- 
Alfonso Noriega
Software engineer
Redlink GmbH
e: alfonso.nori...@redlink.co <sergio.fernan...@redlink.co>
w: http://redlink.co

Reply via email to