Commit 6075aa911fa74616ec1f5b299f7eacde4ef3e1b4

Authored by tangwang
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