Commit 6075aa911fa74616ec1f5b299f7eacde4ef3e1b4
1 parent
814e352b
性能优化
Showing
1 changed file
with
42 additions
and
25 deletions
Show diff stats
search/rerank_client.py
| ... | ... | @@ -65,36 +65,53 @@ def build_docs_from_hits( |
| 65 | 65 | for hit in es_hits: |
| 66 | 66 | src = hit.get("_source") or {} |
| 67 | 67 | title_suffix = str(hit.get("_style_rerank_suffix") or "").strip() |
| 68 | - values = _SafeDict( | |
| 69 | - title=( | |
| 70 | - f"{pick_lang_text(src.get('title'))} {title_suffix}".strip() | |
| 71 | - if title_suffix | |
| 72 | - else pick_lang_text(src.get("title")) | |
| 73 | - ), | |
| 74 | - brief=pick_lang_text(src.get("brief")) if need_brief else "", | |
| 75 | - vendor=pick_lang_text(src.get("vendor")) if need_vendor else "", | |
| 76 | - description=pick_lang_text(src.get("description")) if need_description else "", | |
| 77 | - category_path=pick_lang_text(src.get("category_path")) if need_category_path else "", | |
| 68 | + | |
| 69 | + title_str=( | |
| 70 | + f"{pick_lang_text(src.get('title'))} {title_suffix}".strip() | |
| 71 | + if title_suffix | |
| 72 | + else pick_lang_text(src.get("title")) | |
| 78 | 73 | ) |
| 74 | + title_str = str(title_str).strip() | |
| 75 | + | |
| 79 | 76 | if only_title: |
| 80 | - doc_text = values["title"] | |
| 77 | + doc_text = title_str | |
| 78 | + if debug_rows is not None: | |
| 79 | + preview = doc_text if len(doc_text) <= 300 else f"{doc_text[:300]}..." | |
| 80 | + debug_rows.append({ | |
| 81 | + "doc_template": doc_template, | |
| 82 | + "title_suffix": title_suffix or None, | |
| 83 | + "fields": { | |
| 84 | + "title": title_str, | |
| 85 | + }, | |
| 86 | + "doc_preview": preview, | |
| 87 | + "doc_length": len(doc_text), | |
| 88 | + }) | |
| 81 | 89 | else: |
| 90 | + values = _SafeDict( | |
| 91 | + title=title_str, | |
| 92 | + brief=pick_lang_text(src.get("brief")) if need_brief else "", | |
| 93 | + vendor=pick_lang_text(src.get("vendor")) if need_vendor else "", | |
| 94 | + description=pick_lang_text(src.get("description")) if need_description else "", | |
| 95 | + category_path=pick_lang_text(src.get("category_path")) if need_category_path else "", | |
| 96 | + ) | |
| 82 | 97 | doc_text = str(doc_template).format_map(values) |
| 98 | + | |
| 99 | + if debug_rows is not None: | |
| 100 | + preview = doc_text if len(doc_text) <= 300 else f"{doc_text[:300]}..." | |
| 101 | + debug_rows.append({ | |
| 102 | + "doc_template": doc_template, | |
| 103 | + "title_suffix": title_suffix or None, | |
| 104 | + "fields": { | |
| 105 | + "title": title_str, | |
| 106 | + "brief": values.get("brief") or None, | |
| 107 | + "vendor": values.get("vendor") or None, | |
| 108 | + "category_path": values.get("category_path") or None | |
| 109 | + }, | |
| 110 | + "doc_preview": preview, | |
| 111 | + "doc_length": len(doc_text), | |
| 112 | + }) | |
| 83 | 113 | docs.append(doc_text) |
| 84 | - if debug_rows is not None: | |
| 85 | - preview = doc_text if len(doc_text) <= 300 else f"{doc_text[:300]}..." | |
| 86 | - debug_rows.append({ | |
| 87 | - "doc_template": doc_template, | |
| 88 | - "title_suffix": title_suffix or None, | |
| 89 | - "fields": { | |
| 90 | - "title": values["title"] or None, | |
| 91 | - "brief": values["brief"] or None, | |
| 92 | - "vendor": values["vendor"] or None, | |
| 93 | - "category_path": values["category_path"] or None, | |
| 94 | - }, | |
| 95 | - "doc_preview": preview, | |
| 96 | - "doc_length": len(doc_text), | |
| 97 | - }) | |
| 114 | + | |
| 98 | 115 | return docs |
| 99 | 116 | |
| 100 | 117 | ... | ... |