Commit 2a95384
committed
Add FHNW Solr features: spellcheck, collate, highlighting, and frontend helpers
NOTE: This changeset extends the backend API to support advanced search
features (spellcheck, collate, highlighting), and extends the frontend
API to allow projects to implement custom UX on top of kitconcept.solr's
capabilities.
It also fixes a critical bug where filtering by multiple facet
conditions failed to correctly disable voided conditions.
When using the built-in default search page, both search and suggest
work identically as before.
Backend:
- Add spellcheck with collate support for "did you mean" suggestions
- Add highlighting with alternate field support
- Add extra conditions filtering (content types, metadata fields)
- Fix facet conditions, portal type, and content fields handling
- Fix language handling and encoding issues
- Fix local search path prefix matching
- Update Solr configuration for spellcheck component
Frontend:
- Add getCollationMisspellings helper for "did you mean" feature
- Add getSuggestions helper for extracting/sorting suggestions
- Add navigation_with_excluded Redux action and reducer
- Add SearchWidget customization to use SolrSearchWidget
Tests:
- Add comprehensive spellcheck/collate tests
- Add highlighting endpoint tests
- Add extra conditions tests
- Add utility function tests1 parent 24dede8 commit 2a95384
File tree
38 files changed
+2362
-66
lines changed- backend
- news
- src/kitconcept/solr
- profiles/default/registry
- services
- tests
- services
- content_filters
- encoding
- extra_conditions
- facet_conditions
- highlighting
- language
- local_search
- spellcheck
- suggest
- utils
- frontend/packages/volto-solr
- news
- src
- actions
- components/theme/SolrSearch
- customizations/volto/components/theme/SearchWidget
- reducers
- solr/etc/conf
38 files changed
+2362
-66
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
29 | 34 | | |
30 | 35 | | |
31 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
| 56 | + | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| |||
99 | 102 | | |
100 | 103 | | |
101 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
102 | 113 | | |
103 | 114 | | |
104 | 115 | | |
| |||
119 | 130 | | |
120 | 131 | | |
121 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
122 | 136 | | |
123 | 137 | | |
124 | 138 | | |
| |||
164 | 178 | | |
165 | 179 | | |
166 | 180 | | |
167 | | - | |
168 | | - | |
169 | | - | |
| 181 | + | |
| 182 | + | |
170 | 183 | | |
171 | 184 | | |
172 | | - | |
173 | | - | |
174 | 185 | | |
175 | | - | |
176 | | - | |
| 186 | + | |
177 | 187 | | |
178 | 188 | | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
| 189 | + | |
| 190 | + | |
189 | 191 | | |
190 | 192 | | |
191 | 193 | | |
| |||
196 | 198 | | |
197 | 199 | | |
198 | 200 | | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
| 201 | + | |
| 202 | + | |
203 | 203 | | |
204 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
205 | 208 | | |
206 | 209 | | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | 210 | | |
218 | 211 | | |
219 | 212 | | |
| |||
232 | 225 | | |
233 | 226 | | |
234 | 227 | | |
| 228 | + | |
235 | 229 | | |
236 | 230 | | |
237 | 231 | | |
| |||
253 | 247 | | |
254 | 248 | | |
255 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
256 | 255 | | |
257 | 256 | | |
258 | | - | |
| 257 | + | |
| 258 | + | |
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
| |||
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
| 280 | + | |
| 281 | + | |
280 | 282 | | |
281 | 283 | | |
282 | 284 | | |
| |||
286 | 288 | | |
287 | 289 | | |
288 | 290 | | |
| 291 | + | |
289 | 292 | | |
290 | 293 | | |
291 | | - | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
292 | 304 | | |
293 | 305 | | |
294 | 306 | | |
| |||
336 | 348 | | |
337 | 349 | | |
338 | 350 | | |
339 | | - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
340 | 375 | | |
341 | | - | |
| 376 | + | |
342 | 377 | | |
343 | | - | |
| 378 | + | |
344 | 379 | | |
345 | 380 | | |
346 | 381 | | |
347 | 382 | | |
348 | 383 | | |
| 384 | + | |
349 | 385 | | |
350 | 386 | | |
Lines changed: 21 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
120 | 121 | | |
121 | 122 | | |
122 | 123 | | |
123 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
124 | 129 | | |
125 | 130 | | |
126 | 131 | | |
| |||
155 | 160 | | |
156 | 161 | | |
157 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
158 | 192 | | |
159 | 193 | | |
160 | 194 | | |
| |||
0 commit comments