Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Aggregations and Faceted Search: terms, range, date_histogram, nested and post_filter
In faceted search the text goes into the query, selected filters go into post_filter, and each facet is wrapped with every other selected filter but its own; otherwise a selected filter empties its own facet. With real output: terms, range, date_histogram, avg and cardinality, nested with reverse_nested, Bookstore's faceted /books/search endpoint, terms counts going wrong on 5 shards and doc_count_error_upper_bound, and the same report in ES|QL.
Navigation and Information Architecture: Menus, Breadcrumbs, Search, Filters and Pagination Decisions
Good catalogue navigation keeps the list's state in the URL, separates category as hierarchy from format as facet, makes active filters visible, and uses pagination rather than infinite scroll for lists people search and compare. In Bookstore's catalogue we measure filters lost on reload, a Back button that leaves the catalogue, a footer hidden until all 70 books load and a list with zero links, and fix them with pushState/replaceState, facet counts, chips, breadcrumbs and no-results recovery.