Getting Started with Search
Configure search index projections in the central model, create search profiles for your target engine, and build search views to visualise the resulting index schema.
The search system supports per-property search index configuration within the central model. Rather than maintaining separate index definition files, search configuration lives directly on model properties as a search projection. This keeps the model as the single source of truth for how data is structured and how it maps to search indexes across different engines.
How Search Configuration Works
Search configuration in NeoArc Studio is organised around three concepts: search profiles, per-property search projections, and search views.
Where Search Configuration Lives
All search configuration resides in the central model file (model.neoarc). Each property on a model entity has a projections.search object of type SearchProjectionConfig. This projection controls whether the property is included in the search index and how it behaves within that index.
The Search Configuration Workflow
Setting up search indexes follows a three-step process: create a profile, configure properties, and build a view.
The Search Lens in the Graph Editor
The graph editor's property table provides a dedicated search lens for configuring search settings on each property. When the projection lens is set to "search", the table displays search-specific columns and controls.
Opting Properties into Search
Properties do not appear in the search index by default. Each property must explicitly opt in via the projections.search.included flag. Once included, the property becomes visible in search views and participates in the search index schema based on its configured behaviours.
// A property's search projection (on the model property)
projections: {
search: {
included: true,
searchBehaviours: ['searchable', 'retrievable'],
analyzer: 'standard',
boost: 1.5
}
}
Profile-Aware Display
Search views and the graph property table both resolve display values through the active search profile. This means field names, types, and index names change dynamically based on which profile is selected.