Escalating Entity Resolver
Entity resolver that walks a chain of CandidateSearchers from cheapest to most expensive, stopping as soon as one returns a confident match. If no searcher is confident, the accumulated candidates go to an optional LLM bakeoff; if that also finds nothing, a new entity is minted (or vetoed if the schema forbids creation).
Default search order:
Exact name match — instant, no LLM
Full-text / heuristic match — fast, no LLM
Embedding similarity — moderate cost, no LLM
LLM arbitration — only for genuinely ambiguous cases
This is the recommended resolver for production. For dev/seed scenarios where you never need to match against existing nodes, AlwaysCreateEntityResolver is simpler. Use the create factory for the full chain (including vector search) or withoutVector for stores without a vector index.
Parameters
Candidate searchers in cheapest-first order
Optional LLM selector used when no searcher is confident; if null, a new entity is created
Optional compressor to trim source text before passing it to the bakeoff
Behavior toggles, e.g. forcing heuristic-only mode
Constructors
Types
Functions
For each of the given entities, resolve them to either an existing entity or a new entity.
Return a copy with the specified candidate bakeoff.