https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Bug ID: 43355 Summary: Add a /search API endpoint for biblios Initiative type: --- Sponsorship --- status: Product: Koha Version: Main Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: REST API Assignee: koha-bugs@lists.koha-community.org Reporter: martin.renvoize@openfifth.co.uk QA Contact: testopia@bugs.koha-community.org CC: caroline.cyr-la-rose@inlibro.com, dcook@prosentient.com.au, hammat.wele@inlibro.com, jonathan.druart@gmail.com, kyle@bywatersolutions.com, m.de.rooy@rijksmuseum.nl, magnus@libriotech.no, mathsabypro@gmail.com, paul.derscheid@lmscloud.de, philippe.blouin@inlibro.com, tomascohen@gmail.com Depends on: 25870, 32734 Blocks: 27113, 27428 Target Milestone: --- +++ This bug was initially created as a clone of Bug #25870 +++ To try and get that bug moving again I thought I'd work from a blue sky proposal taking comments from the original bug into consideration and adding a dedicated /search endpoint. Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=25870 [Bug 25870] Add a q_ccl query parameter to /biblios (ie add search API endpoint) https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27113 [Bug 27113] Elasticsearch: Autocomplete in search https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27428 [Bug 27428] Show the number of records in the bibliographic record detail page with Elasticsearch https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32734 [Bug 32734] Add GET endpoint for listing Biblios -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|25870 | See Also| |https://bugs.koha-community | |.org/bugzilla3/show_bug.cgi | |?id=25870 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=25870 [Bug 25870] Add a q_ccl query parameter to /biblios (ie add search API endpoint) -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |35052 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35052 [Bug 35052] OpacHiddenItemsHidesRecord system preference should be considered in search indexes instead of post filtering results -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |26.11 Initiative type|--- |Feature -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|koha-bugs@lists.koha-commun |martin.renvoize@openfifth.c |ity.org |o.uk -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED -- You are receiving this mail because: You are watching all bug changes.
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.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 --- Comment #2 from Blou <philippe.blouin@inlibro.com> --- upvote! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43355 David Nind <david@davidnind.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |david@davidnind.com -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org