You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scope for this spec (chosen from the design's optional menu): **synonyms & stop words** and **facet
4
+
surfacing**. **Semantic/hybrid search is deferred** to a separate spec (heavy: embedder provider +
5
+
indexing cost), per the design's open question.
6
+
7
+
## Step 1: Synonyms & stop words
8
+
9
+
-[x]`ContentSearchProperties` (`@ConfigurationProperties("open-elements.content.search")`): `synonyms` (map) + `stopWords` (list); registered on `ContentConfig`
10
+
-[x]`SearchSettingsInitializer` (`ApplicationRunner`, `@Order(40)`, gated on `meilisearch.enabled`): pushes `synonyms`/`stopWords` via `MeilisearchClient.updateSettings` (no data reindex); no-op when unset; failure logged, not fatal
11
+
-[x] Commented example in `application.yaml`
12
+
13
+
**Related behaviors:** synonym expands a query; stop word ignored; settings applied without reindex disruption
14
+
15
+
---
16
+
17
+
## Step 2: Facet surfacing
18
+
19
+
-[x]`SearchHits` gains a `facets` (`List<CategoryCount>`) field
20
+
-[x]`ContentSearchService.search` requests `facets: ["categories"]` and populates `SearchHits.facets` from `facetDistribution`; `list_categories` unchanged (already faceted)
-[x] Not implemented — with it absent/off, no embeddings are generated and keyword search is unchanged (the "semantic is opt-in / off = unchanged" behavior holds by default). A future spec would add an embedder + hybrid mode.
0 commit comments