[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