mirror of https://github.com/kiwix/libkiwix.git
Xapian version 1.4.18 contains a bug in snippet generation caused by incorrect handling of stemming. The test-point with a search pattern "beatles" produced snippets with no highlights of the search term. Debugging showed that the search pattern "beatles" was transformed to a search term "beatl" which then didn't match the word "beatles" in the text from which a snippet had to be extracted. The test case passed on my development machine as well as for most CI configurations. However the "Packages / build-deb (ubuntu-bionic)" variant failed because of a slightly different handling of punctuation at the snippet boundaries: Test context: url: /ROOT/search?pattern=beatles&content=zimfile actual snippet: ...side "Yellow Submarine" ........... expected snippet: ...-side "Yellow Submarine" ........... Above mismatch resulted in a looser comparison of the snippet contents and failed the requirement that the snippet MUST contain highlights (this is how the said bug in Xapian was discovered). An attempt to change the search pattern to "field" didn't eliminate the problem. Despite the search pattern itself being in singular form (i.e. identical to its stemmed version) the plural form "fields" in the snippet was still not highlighted. Using for a search pattern an adjective instead of a noun achieved the desired outcome. |
||
---|---|---|
.. | ||
data | ||
book.cpp | ||
counterParsing.cpp | ||
httplib.h | ||
kiwixserve.cpp | ||
library.cpp | ||
manager.cpp | ||
meson.build | ||
name_mapper.cpp | ||
opds_catalog.cpp | ||
pathTools.cpp | ||
regex.cpp | ||
server.cpp | ||
stringTools.cpp | ||
tagParsing.cpp |