ICVOSS DJANGO PACKAGE REGISTRY

Home search How it works

How django-icv-search works

django-icv-search sits in front of a pluggable backend, so the same service call, search(), works whether the engine underneath is Meilisearch, PostgreSQL full-text search, or, as on this demo, an in-memory DummyBackend with no external server. Models declare what to index; index_model_instances() pushes rows into whichever backend is configured.

A query goes through the same search() call regardless of backend: a free-text query string plus optional filters, facets, highlighting, and sorting. The result object exposes highlighted hits, per-hit ranking scores, and facet value counts, which is what the results list, snippet highlighting, and refine sidebar on the main demo page all read.

The demo also shows the self-healing path: DummyBackend keeps its index in memory for the life of the process, so a fresh server restart starts empty even though the underlying rows still exist in the database. The view detects an empty index and reindexes on demand, the same call the management command uses, so the demo never needs a manual reindex step.

That link is same-host: hostmap leaves it relative, unlike the cross-host links below.

Other live demos

  1. No.01
    django-hostmap

    Host-based URL routing and host-aware reversing.

    hostmap.icvoss.com
  2. No.02
    django-icv-tree

    Materialised path tree structures.

    tree.icvoss.com
  3. No.03
    django-icv-taxonomy

    Cross-domain taxonomy, vocabularies, and tagging.

    taxonomy.icvoss.com
  4. No.04
    django-icv-search (you are here)

    Pluggable search engine integration.

    search.icvoss.com
  5. No.05
    django-icv-sitemaps

    Scalable sitemap and discovery file generation.

    sitemaps.icvoss.com
  6. No.06
    django-brickwork

    A brand-agnostic UI substrate: shell, nav, components.

    brickwork.icvoss.com