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 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  
... ...