vomebook commited on
Commit
8501c5b
·
verified ·
1 Parent(s): 062254b

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -16
app.py CHANGED
@@ -470,27 +470,21 @@ class FulltextDatabases:
470
  timings["snippet_fallback_sql"] = timings.get("snippet_fallback_sql", 0) + (time.perf_counter() - fallback_started) * 1000
471
  for number, match_position, content_length, text in rows:
472
  payload_started = time.perf_counter()
473
- payload = build_snippet_payload(text or "", query, exact=exact)
 
 
 
 
 
 
 
 
474
  if timings is not None:
475
  timings["snippet_payload"] = timings.get("snippet_payload", 0) + (time.perf_counter() - payload_started) * 1000
476
- if not payload["highlights"]:
477
- payload = build_snippet_payload(text or "", needle, exact=True)
478
- extracted_start = max(int(match_position or 0) - 220, 1)
479
  if payload["snippet"] and extracted_start > 1 and not payload["snippet"].startswith("..."):
480
  payload["snippet"] = "..." + payload["snippet"]
481
  if payload["snippet"] and extracted_start + len(text or "") <= int(content_length or 0) and not payload["snippet"].endswith("..."):
482
  payload["snippet"] += "..."
483
- if exact and not has_wildcard_query(query):
484
- direct_started = time.perf_counter()
485
- direct_payload = build_normalized_exact_snippet_payload(text or "", query)
486
- if direct_payload["snippet"] and extracted_start > 1 and not direct_payload["snippet"].startswith("..."):
487
- direct_payload["snippet"] = "..." + direct_payload["snippet"]
488
- if direct_payload["snippet"] and extracted_start + len(text or "") <= int(content_length or 0) and not direct_payload["snippet"].endswith("..."):
489
- direct_payload["snippet"] += "..."
490
- if timings is not None:
491
- timings["snippet_exact_payload_direct"] = timings.get("snippet_exact_payload_direct", 0) + (time.perf_counter() - direct_started) * 1000
492
- if direct_payload != payload:
493
- timings["snippet_exact_payload_mismatch"] = timings.get("snippet_exact_payload_mismatch", 0) + 1
494
  snippets[doc_id_by_number[int(number)]] = payload
495
  except sqlite3.OperationalError:
496
  continue
@@ -1122,7 +1116,7 @@ def run_search(body: SearchRequest, sources_filter=None, timings=None):
1122
 
1123
  def format_server_timing(timings: dict) -> str:
1124
  values = [f'cache;desc="{timings.get("cache", "unknown")}";dur={timings.get("cache_lookup", 0):.2f}']
1125
- for name in ("sqlite", "metadata", "filter", "rank", "sort", "summaries", "snippet_anchor_sql", "snippet_anchor_error", "snippet_fallback_sql", "snippet_payload", "snippet_exact_payload_direct", "snippet_exact_payload_mismatch", "snippets", "decorate", "engine", "json"):
1126
  if name in timings:
1127
  values.append(f"{name};dur={timings[name]:.2f}")
1128
  return ", ".join(values)
 
470
  timings["snippet_fallback_sql"] = timings.get("snippet_fallback_sql", 0) + (time.perf_counter() - fallback_started) * 1000
471
  for number, match_position, content_length, text in rows:
472
  payload_started = time.perf_counter()
473
+ extracted_start = max(int(match_position or 0) - 220, 1)
474
+ if exact and not has_wildcard_query(query):
475
+ payload = build_normalized_exact_snippet_payload(text or "", query)
476
+ if not payload["highlights"]:
477
+ payload = build_snippet_payload(text or "", query, exact=True)
478
+ else:
479
+ payload = build_snippet_payload(text or "", query, exact=exact)
480
+ if not payload["highlights"]:
481
+ payload = build_snippet_payload(text or "", needle, exact=True)
482
  if timings is not None:
483
  timings["snippet_payload"] = timings.get("snippet_payload", 0) + (time.perf_counter() - payload_started) * 1000
 
 
 
484
  if payload["snippet"] and extracted_start > 1 and not payload["snippet"].startswith("..."):
485
  payload["snippet"] = "..." + payload["snippet"]
486
  if payload["snippet"] and extracted_start + len(text or "") <= int(content_length or 0) and not payload["snippet"].endswith("..."):
487
  payload["snippet"] += "..."
 
 
 
 
 
 
 
 
 
 
 
488
  snippets[doc_id_by_number[int(number)]] = payload
489
  except sqlite3.OperationalError:
490
  continue
 
1116
 
1117
  def format_server_timing(timings: dict) -> str:
1118
  values = [f'cache;desc="{timings.get("cache", "unknown")}";dur={timings.get("cache_lookup", 0):.2f}']
1119
+ for name in ("sqlite", "metadata", "filter", "rank", "sort", "summaries", "snippet_anchor_sql", "snippet_anchor_error", "snippet_fallback_sql", "snippet_payload", "snippets", "decorate", "engine", "json"):
1120
  if name in timings:
1121
  values.append(f"{name};dur={timings[name]:.2f}")
1122
  return ", ".join(values)