Finding things

All reading skills are served by the reader door. The examples were run against a fresh house holding one small document, one claim and one source.

By word

search_text searches all texts with the full-text index. A query of several words asks for all of them by default, and every answer carries interpreted, which shows what the query became: "bridge finished" became bridge AND finished. Each hit names the documents it stands in and whether that version is the current one. Pass a document id to search one document exhaustively instead of the whole house by rank.

By meaning

search_semantic finds texts by similarity of meaning, using an embedding model that ships inside the house. "When was the river crossing completed" found "The bridge was finished in 1887." without sharing a word with it. Two things to know: the score orders hits and is no threshold, and the index covers every text in the house, including the descriptions of the built-in vocabulary. In a nearly empty house those rank among the hits. Use both searches for thorough work; they find different things.

By structure

find_things filters things by what they are. Its where is a JSON object with one key: a condition, or a junction of conditions with all, any or not.

{"all": [{"aspect": "Source"},
         {"slot": "Source.Reliability", "contains": "dates"}]}

Conditions address an aspect, a kind ({"kind": "Binary"}), an id, or a slot of an aspect's surface with an operator: eq, ne, lt, le, gt, ge, in, prefix, contains, exists, missing. The answer carries scanned: where the candidates came from and how much was read to answer. That is the cost of your question, stated.

Three relatives take the same where:

find_value looks a value up without storing it: does this exact text, this formed value, this date exist, and what points at it.

By time and place

find_in_period and find_nearby, with time_coverage as the way in. See time-and-place.

By walking

What searching will not do

The skills report hits and where they come from. Judging relevance is yours. Nothing ranks "what matters to this user"; there is no personalisation.

Go deeper