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,36 +65,53 @@ def build_docs_from_hits( | ||
| 65 | for hit in es_hits: | 65 | for hit in es_hits: |
| 66 | src = hit.get("_source") or {} | 66 | src = hit.get("_source") or {} |
| 67 | title_suffix = str(hit.get("_style_rerank_suffix") or "").strip() | 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 | if only_title: | 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 | else: | 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 | doc_text = str(doc_template).format_map(values) | 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 | docs.append(doc_text) | 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 | return docs | 115 | return docs |
| 99 | 116 | ||
| 100 | 117 |