Boolean searches, type-safety in ES

edited November 2016 in General Support
[Prov 1.6.3 ElasticSearch]

Hello, we get incorrect results on some searches in ES (ok on SqlSearch), and by all appearances it could be a type-related issue. Example:

ca_sets.set_code:tstset
5 results (correct)

ca_sets.set_code:tstset OR ca_sets.set_id:tstset (or any other non-number string)
No results (incorrect)

ca_sets.set_code:tstset OR ca_sets.set_id:3992 (or any other number)
5 results (correct)

Note that ca_sets.set_code OR ca_sets.set_id is the expansion of the set access_point in the standard search_indexing.conf (and thus the standard set access_point fails). Thx.




Comments

  • Confirmed, ES throws an error NumberFormatException[For input string: "tstset"] but the catch in app/lib/core/Plugins/SearchEngine/ElasticSearch.php (L.372) swallows it up and silently returns the empty return set, a big no-no as the user is not aware of any issues and gets the wrong results, as the query might very well have results.

    Seems to apply to 1.7 as well.

    Reported in http://clangers.collectiveaccess.org/jira/browse/PROV-1915

Sign In or Register to comment.