https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |43358 Blocks| |43359 Blocks| |43360 --- Comment #1 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Posting the overall plan this bug fits into, for anyone landing here from Bug 25870 or Bug 27113. The goal is a modern, decoupled search architecture for Koha: a dedicated /search endpoint using a Lucene-style query language (matching what Elasticsearch's own query_string handler already speaks natively), instead of overloading /biblios with a CCL query parameter. This is being built as a small chain of focused bugs rather than one large patch, so each piece can be reviewed and can land independently, and so Elasticsearch progress is not held hostage to Zebra parity (nor is Zebra being dropped outright) - the disagreement that has kept Bug 25870 stuck for six years. The chain, in dependency order: Bug 42835 (ElasticSearch should have an items index) and Bug 43151 (ES should apply search filters on each item discretely) - prerequisite infrastructure already in the pipeline independently of this program. A real per-item Elasticsearch index and the query mechanism for correctly correlating multiple item-level fields to the same item. Everything below depends on these landing. Bug 35052 (OpacHiddenItemsHidesRecord ... at index time) - submitted. Moves OpacHiddenItems/OpacHiddenItemsHidesRecord/OpacHiddenItemsExceptions enforcement from post-search-result processing to query time, using Bug 43151's items-index query mechanism. This fixes the actual reported bug (wrong pagination, wrong total-hit counts when hidden records are interspersed in a result set), and is also the correctness gap that failed QA on the original q_ccl patch for this bug - so it's foundational to doing a public /search route properly, not just a nice-to-have. Bug 43355 (this bug) - the core architecture: the Lucene query language, its AST, the /search and /public/search REST endpoints (GET and POST), curated index-derived result summaries (including real availability data from the items index, no DB round-trip needed), and facets, backed by Elasticsearch. Bug 43358 (Zebra: add a reduced-parity Lucene query translation layer) - depends on this bug. Zebra gets a real, documented, permanently reduced-parity implementation (basic Lucene syntax translated to PQF/CCL) rather than either blocking this bug or being abandoned. Zebra cannot index items separately or join bibs/items, so combined item-level filter correctness, facet accuracy against those filters, and query-time OpacHiddenItems enforcement stay Elasticsearch-only for Zebra installations, falling back to today's existing behaviour for those specific concerns. Bug 43359 (Migrate opac-search.pl to use the new /search architecture) - depends on this bug. Puts OPAC web search on the same code path as the new API, so results never diverge between the two - the divergence problem David Cook raised on Bug 25870. Bug 43360 (Wire the advanced search form to build Lucene queries) - depends on this bug. Retires the legacy internal query parameter format in favour of the same Lucene syntax the API uses, so there's one query language to maintain, not two. Once this bug lands, Bug 27113 (Elasticsearch: Autocomplete in search) should be able to build directly on the /search endpoint rather than staying blocked on the CCL approach. Full design notes and the cross-cutting decisions this program is built on (query syntax, route naming, result shape, facets scope, Zebra policy) are kept alongside the work rather than in Bugzilla; happy to share them if useful to reviewers. Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43358 [Bug 43358] Zebra: add a reduced-parity Lucene query translation layer for the new /search endpoint https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43359 [Bug 43359] Migrate opac-search.pl to use the new /search architecture (Bug 43355) https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43360 [Bug 43360] Wire the advanced search form to build Lucene queries via the new /search architecture (Bug 43355) -- You are receiving this mail because: You are watching all bug changes.