[Koha-bugs] [Bug 28316] Fix ES crashes related to various punctuation characters

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Sun Aug 22 00:40:39 CEST 2021


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28316

--- Comment #76 from Andrew Nugged <nugged at gmail.com> ---
Ranges in ES language
=========================

let's disable QueryAutoTruncate for not adding those asterisks,
and QueryRegexEscapeOptions doesn't matter here unless we will add
regular expressions. So:

ES allows us to have ranges requests, like:

    novel {1947 TO 1950]

this expects to find word "novel" and one of the words in the range between
"1948 to 1950", and 1948 said here because '{' means "not included in range"
value, but starting from it (i.e. not '>=', but '>'),

but code in current master replaces '{' with '"', and then even more,
unbalanced 
(unpaired) '"' removed as well, so the final request to ES will be:

    novel  1947 TO 1950]

which has 'hanging ]' that ES doesn't understands and throws an exception
(welcome to the 'yellow Error box' instead of 'found' result here again).



Now, with the patch:

    novel {1947 TO 1950]

transferred correctly as it is, and ES on test DB finds single:
    The vixens. A novel.
    Publication details: London, 1948.
for obvious reasons.


Now to play another example "without and with patch", here:

    [novel] [1900 TO 1950]

without the patch, it transferred "as is" to ES, and gives a yellow error,
because ES doesn't understands range as in '[novel]'.

With patch it becomes transformed to such request to ES:

    \[novel\] [1900 TO 1950]

and because backslashed non-alphanumeric characters are ignored, it
works and brings the result - one book, like in the previous example.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list