All examples

Example 08

Experiment

Unified Search

One search box over many kinds of data, with the right people seeing the right results.

Search gets complicated when the data lives in many places. Index each source into the same engine, define the shape of every index, keep them fresh on a schedule, and let relationships between indexes improve the results.

Chapter one

When data becomes searchable

Anything you have already stored can be found, once it is given a shape and an index to live in.

  1. 1
    Document Database

    A document is stored

    The Data engine holds the documents you want people to be able to find.

  2. 2
    Schemas & Ontology Versioning

    The shape of the index is decided

    The Semantic engine informs what the index looks like and which data type each field has, so the search knows what it is looking at.

  3. 3
    Search Engine

    The document is indexed

    The Search engine indexes the document and points every result back to the id of the original.

Chapter two

Expand search

One index is a start. Three more blocks turn it into search across everything, for the right people, always fresh.

One index is not enough

As more sources arrive, the search has to connect them, protect them, and keep up with them.

  • By relationship

    Indexes that know each other

    The Graph engine correlates different search indexes, which helps with search optimization across all of them.

  • By permission

    Who gets to search what

    The Authorization engine decides who can access which search indexes, so results only show what a person is allowed to see.

  • On a schedule

    Fresh data keeps arriving

    The Cron engine indexes new data on a schedule, such as articles from news sites, so the search stays current without anyone pushing it.

Make it yours

Variations worth trying

  • Index a single source first and add the others one at a time.
  • Replace the schedule with indexing on write when freshness matters most.
  • Skip the graph until you have enough queries to learn from.

Starting point

Ask your coding agent for your version

Use this prompt as a starting point, then change whatever does not fit your idea.

Build a unified search that indexes several sources on a schedule, shapes each index, restricts who can search what, and uses relationships to improve results.

Use these Ultrahost building blocks, in this flow.

When data becomes searchable:
1. Document Database: The Data engine holds the documents you want people to be able to find.
2. Schemas & Ontology Versioning: The Semantic engine informs what the index looks like and which data type each field has, so the search knows what it is looking at.
3. Search Engine: The Search engine indexes the document and points every result back to the id of the original.

Expand search:
- By relationship (Graph Database): The Graph engine correlates different search indexes, which helps with search optimization across all of them.
- By permission (Authorization Layer): The Authorization engine decides who can access which search indexes, so results only show what a person is allowed to see.
- On a schedule (Cron): The Cron engine indexes new data on a schedule, such as articles from news sites, so the search stays current without anyone pushing it.

Treat this as a starting point. Keep the parts that fit my idea and adapt the rest.

Next example

Semantic Data Modeling