From 6f3ba682c5b2c42d0417da53769451635dce95fc Mon Sep 17 00:00:00 2001 From: Raymond Yee Date: Fri, 8 May 2026 08:12:04 -0700 Subject: [PATCH 1/2] docs: honesty-fix query-spec to match live label+place_name (#168 Direction B) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #168 baseline (#167) showed that swapping doSearch to sample_facets_v2 (Direction A) recovers real recall — pottery Cyprus flips from 0 to 50 results — but exceeds the locked latency thresholds (cold pottery 12s vs ≤5s, multi-term 15s vs ≤6s). Native DuckDB benchmark showed CTE optimization is 8x faster, but in-browser DuckDB-WASM cold-cache HTTP range fetches dominate cost, evaporating the 8x win. Per the #168 decision rule (latency thresholds drive direction): land Direction B — keep doSearch on samples_map_lite, narrow query-spec.qmd to honestly describe what the live Explorer searches today, and point forward to #169 / SEARCH_INDEX_V1.md as the path that lifts both the recall gap and the latency gap. Refs #165, #167, #168, #169. Closes #168. Co-Authored-By: Claude Opus 4.7 (1M context) --- query-spec.qmd | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/query-spec.qmd b/query-spec.qmd index 795f476..cd7b6aa 100644 --- a/query-spec.qmd +++ b/query-spec.qmd @@ -221,8 +221,14 @@ Solr `searchText` copy-field target, canonical list): - `curation_label`, `curation_description`, `curation_location` Substrates that can't index all 15 fields MUST document which subset -they cover and surface the limitation in UI. (The current web Explorer -covers `label` + `description` + `place_name` only — a known gap.) +they cover and surface the limitation in UI. (As of 2026-05-08, the +current web Explorer covers `label` + `place_name` only against +`samples_map_lite.parquet`, which does not carry `description` — +a known gap that broke `pottery Cyprus` and similar queries in the +#167 baseline. The substrate work in +[#169](https://github.com/isamplesorg/isamplesorg.github.io/issues/169) +will lift this by adding `description` *and* dereferenced concept +labels in the v1 minimum field set.) Multi-term queries default to **AND** with relevance ranking where the substrate supports it (Solr, DuckDB FTS). See PR #95 for web-side FTS From 006d3350fd5ae412d7ea8b4e309ae495fc6439e5 Mon Sep 17 00:00:00 2001 From: Raymond Yee Date: Fri, 8 May 2026 08:24:19 -0700 Subject: [PATCH 2/2] explorer: add search-limitation UI hint per query-spec MUST clause (#176) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit query-spec.qmd §3.2 says: "Substrates that can't index all 15 fields MUST document which subset they cover and surface the limitation in UI." The original PR #176 only updated the doc text and left the UI side undone. Codex review correctly flagged that as half a fix. Adds: - A .search-help line under the search bar saying "Searches sample labels and place names only — descriptions are not yet indexed." - Forward link to #169 (substrate FTS) so users see the limitation is tracked, not abandoned. - Replaces the placeholder example "pottery Cyprus" (which returns 0 results in the current substrate per #167 baseline) with "basalt California" which actually matches. Inline styles on the .search-help div to avoid touching styles.css. Refs #167, #168, #169, #176. Co-Authored-By: Claude Opus 4.7 (1M context) --- explorer.qmd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/explorer.qmd b/explorer.qmd index fd61702..f5c83d8 100644 --- a/explorer.qmd +++ b/explorer.qmd @@ -239,9 +239,13 @@ Circle size = log(sample count). Color = dominant data source. +
+Searches sample labels and place names only — descriptions are not yet indexed. +Tracking issue: substrate FTS will lift this. +