Record search
Record search is configured per entity definition. It is not a single on/off feature flag: the definition is searchable when it has at least one explicit search target, and an empty target list makes search unavailable.
In the Constructor, open Entity Explorer, select the entity definition, and choose Search in the Data model group. Each row on this tab is one path from the record being listed to the text that may produce a match.
What a search target can contain
Section titled “What a search target can contain”A path ends in one of these field targets:
| Target | Text that is searched |
|---|---|
| String or Text | The complete stored text. |
| Address | The address’s FullAddress value. |
| File | The active file name and description. |
The following system targets are also available:
- Display name — the reached record’s computed display name;
- Number — the reached record’s generated number;
- Comments — active comment text;
- Attachments — active attachment file names and descriptions.
Reference, Inverse reference, and Table are intermediate path segments rather than text targets. A Table path must continue to a concrete field in its child row. Comments and Attachments can be selected on the root record or on a record reached through Reference or Inverse reference; they are not properties of an individual Table child row.
For example:
Title;Customer → Display name;Orders → Comments, where Orders is an Inverse reference;Lines → Product → Category → Display name;Lines → Supporting file.
Every Reference, Inverse reference, or Table transition counts toward the
installation’s path-depth limit. The normal limit is three transitions; the
terminal field does not count. The Entity Definition detail returned by the
Configuration API exposes the effective value as SearchMaxPathDepth.
Match behavior
Section titled “Match behavior”Normal input is one literal, case-insensitive substring containing 3 to 256
trimmed characters. All configured targets are tried, and a record matches when
any one target contains the complete input. %, _, and \ have no wildcard
meaning and are matched literally. Search is not tokenized, stemmed, ranked, or
language-specific.
Changes to records, comments, attachments, and file metadata are visible in search immediately after the successful change. There is no search-index rebuild and no synchronization delay.
The #number shortcut finds the root record by its exact generated number.
The #{record-id} shortcut finds it by its exact technical ID. The shortcuts
do not cross-match the other identity. They may be shorter than three
characters but remain capped at 256 characters. A definition still needs at
least one configured target before its runtime search control is available.
Access and archives
Section titled “Access and archives”Search never expands access:
- the caller must be allowed to read every field and related entity used by the path;
- record access is applied again at every entity transition;
- related records are evaluated independently from the root archive mode: active targets require ordinary view access and archived targets require read-archive access;
- inaccessible related text cannot be inferred from matches or totals.
This means two users can legitimately receive different results for the same term.
Safe configuration changes
Section titled “Safe configuration changes”The server rejects duplicate, incomplete, unsupported, or over-depth paths. Remove a dependent search target before deleting a participating field, changing its path-shaping type or relation, disabling Comments or Attachments on an entity used by that target, or deleting an association whose generated relation field a search path travels through.
Configured paths are listed in a fixed order derived from the schema: paths follow the field order of the entity each segment belongs to, paths through the same relation stay together, and record content comes last. The order is not editable on its own; change the field order of the entity to change it. The same order is used by the Entity Definition YAML export.
Entity Definition YAML export uses version 8 and includes SearchTargets.
Versions 1 through 7 are rejected. Definitions upgraded from an older
installation start with no targets until a configurator chooses them
explicitly.
For API payloads, concurrency rules, and runtime query examples, continue with Entity search for developers and agents.