diff --git a/search/rerank_client.py b/search/rerank_client.py index a5b7791..8bd759b 100644 --- a/search/rerank_client.py +++ b/search/rerank_client.py @@ -65,36 +65,53 @@ def build_docs_from_hits( for hit in es_hits: src = hit.get("_source") or {} title_suffix = str(hit.get("_style_rerank_suffix") or "").strip() - values = _SafeDict( - title=( - f"{pick_lang_text(src.get('title'))} {title_suffix}".strip() - if title_suffix - else pick_lang_text(src.get("title")) - ), - brief=pick_lang_text(src.get("brief")) if need_brief else "", - vendor=pick_lang_text(src.get("vendor")) if need_vendor else "", - description=pick_lang_text(src.get("description")) if need_description else "", - category_path=pick_lang_text(src.get("category_path")) if need_category_path else "", + + title_str=( + f"{pick_lang_text(src.get('title'))} {title_suffix}".strip() + if title_suffix + else pick_lang_text(src.get("title")) ) + title_str = str(title_str).strip() + if only_title: - doc_text = values["title"] + doc_text = title_str + if debug_rows is not None: + preview = doc_text if len(doc_text) <= 300 else f"{doc_text[:300]}..." + debug_rows.append({ + "doc_template": doc_template, + "title_suffix": title_suffix or None, + "fields": { + "title": title_str, + }, + "doc_preview": preview, + "doc_length": len(doc_text), + }) else: + values = _SafeDict( + title=title_str, + brief=pick_lang_text(src.get("brief")) if need_brief else "", + vendor=pick_lang_text(src.get("vendor")) if need_vendor else "", + description=pick_lang_text(src.get("description")) if need_description else "", + category_path=pick_lang_text(src.get("category_path")) if need_category_path else "", + ) doc_text = str(doc_template).format_map(values) + + if debug_rows is not None: + preview = doc_text if len(doc_text) <= 300 else f"{doc_text[:300]}..." + debug_rows.append({ + "doc_template": doc_template, + "title_suffix": title_suffix or None, + "fields": { + "title": title_str, + "brief": values.get("brief") or None, + "vendor": values.get("vendor") or None, + "category_path": values.get("category_path") or None + }, + "doc_preview": preview, + "doc_length": len(doc_text), + }) docs.append(doc_text) - if debug_rows is not None: - preview = doc_text if len(doc_text) <= 300 else f"{doc_text[:300]}..." - debug_rows.append({ - "doc_template": doc_template, - "title_suffix": title_suffix or None, - "fields": { - "title": values["title"] or None, - "brief": values["brief"] or None, - "vendor": values["vendor"] or None, - "category_path": values["category_path"] or None, - }, - "doc_preview": preview, - "doc_length": len(doc_text), - }) + return docs -- libgit2 0.21.2