Logo
NeoArc Studio

Search

Design search indexes within the central model, target 6 search engine vendors with profile-based configuration, and detect drift between design-time schemas and deployed indexes.

The search system in NeoArc Studio brings search index design into the central model. Each property in the graph model opts in to search projections via per-property configuration, defining field types, behaviours, analysers, vector search settings, and per-profile overrides. Search profiles map canonical model types to engine-specific types for 6 search engine vendors. Data Views in search mode provide an interactive graph-based visualisation of index projections with profile-aware type and name resolution. Click any entity node to open the Entity Overlay showing the full search field configuration. Drift detection compares the design-time schema against deployed indexes, surfacing discrepancies before they reach production.

Key Capabilities

Supported Engines

Search profiles target one of 6 search engine vendors. Each profile stores engine-specific type mappings, naming conventions, and operational settings.

Search Behaviours

Five core behaviours control how each field participates in search operations. These are configured per property in the model and displayed as YES/NO columns in search views.

Search Field Types

17 search field types across 7 categories define how values are indexed and queried.

Engine Features

Not every engine supports every feature. The engine features matrix shows exactly which capabilities are available for each vendor.

Text Analysis

Text analysis determines how field values are tokenised, normalised, and indexed. Built-in analysers are available per engine, custom analyser composition, and synonym maps.

Sub-Field Configuration

Sub-fields enable multiple indexing strategies on a single source field. A common pattern is a text field with a .raw keyword sub-field: the text field supports full-text search while the keyword sub-field supports exact filtering and sorting. Each sub-field specifies a name suffix, a search field type, and an optional analyser.

{
  "subFields": [
    {
      "name": "raw",
      "searchFieldType": "keyword"
    },
    {
      "name": "english",
      "searchFieldType": "text",
      "analyzer": "english"
    }
  ]
}

Drift Detection

The search drift detection service compares the design-time schema (derived from the graph model and active search profile) against a deployed index schema. The deployed schema is provided as JSON, for example from an Elasticsearch GET _mapping or Azure Cognitive Search GET index response.

The drift report summarises all discrepancies with total counts, grouped by severity (errors, warnings, informational). A clean report confirms the deployed index matches the design-time schema exactly.

Search Validation

8 search-specific validation rules enforce consistency and correctness in the search index design.

Operational Configuration

Search profiles include operational settings that control how indexes are managed in production.

Data Views: Search Mode

Data Views in search mode (.data-view.json) provide an interactive graph-based visualisation of search index projections. Click any entity node to open the Entity Overlay, which shows the search field configuration with the following columns.

A profile dropdown in the top bar switches the active search profile, and the Entity Overlay re-renders with the selected profile's naming conventions, type mappings, and analyser assignments. The overlay shows the full field-level configuration including field identity, query behaviours, text analysis, vector search, storage and performance, governance, and sub-fields.

Getting Started

To begin using the search system:

  1. Create a search profile in the project editor, selecting a target engine and configuring naming conventions and type mappings.
  2. Open a model entity in the graph editor and switch to the search lens.
  3. Include properties in the search projection by setting included: true and configuring behaviours, field type, and analyser.
  4. Create a Data View in search mode to visualise the index projection across multiple entities interactively.
  5. Use drift detection to compare the design-time schema against a deployed index.