mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-19 01:03:18 +00:00
refactor(search): log the CJK clause's skip path like the fuzzy clause's
_build_cjk_query silently swallowed a parse failure with no log line, while _try_parse_fuzzy_query logs at debug for the same "skip this optional clause" situation. Add the matching debug log. Deliberately NOT narrowing except Exception to except ValueError here to match the fuzzy path: the fuzzy blend's word string is pre-filtered to \\w+-only tokens before it ever reaches index.parse_query, so ValueError is the only realistic failure mode there. cjk_text has no equivalent filter, so narrowing this catch without verifying tantivy's actual exception behavior for CJK input would risk letting something other than ValueError propagate uncaught - the same class of mistake as the fuzzy blend regression this migration already fixed once, in the other direction.
This commit is contained in:
@@ -155,6 +155,14 @@ def _build_cjk_query(
|
||||
try:
|
||||
return index.parse_query(cjk_text, fields)
|
||||
except Exception:
|
||||
# Broad on purpose, unlike _try_parse_fuzzy_query's narrower
|
||||
# ValueError: cjk_text isn't filtered to a guaranteed-safe token
|
||||
# set the way the fuzzy blend's word string is, so the exact
|
||||
# failure mode tantivy could raise here isn't pinned down.
|
||||
logger.debug(
|
||||
"Skipping CJK search clause: could not parse CJK text: %r",
|
||||
cjk_text,
|
||||
)
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user