Skip to content

Core Concepts ​

Understanding the BlueCurve data model is essential for effective integration and plugin development.

Subscription ​

Everything in BlueCurve is partitioned by Subscription. A subscription represents a tenant or a logical isolation boundary. API Keys are tied to subscriptions and control access to all underlying resources.

Collection (Index) ​

A Collection (often referred to as an Index) is a search space containing documents.

  • Documents within a collection are searchable together.
  • Each collection can have its own MatchingConfiguration and StructureConfiguration.

Source ​

A Source is a provider of data. It can be a web crawler, a filesystem connector, or an external system pushing data via the Ingestion API.

Document ​

A Document is the atomic unit of the search engine.

  • Raw Document: The original file content (PDF, Text, etc.) and its metadata.
  • Processed Document: A set of indexed fields (e.g., Title, Content, Tags) extracted from a raw document.

Identity ​

Documents are identified by a Fingerprint (128-bit unsigned integer) derived from their URI. SDK helpers preserve both 64-bit halves when computing and passing document identifiers.

Analyzers & Language Processing ​

BlueCurve uses language-specific analyzers to process text during both indexing and searching.

  • Tokenization: Breaking text into individual terms (words).
  • LCID-Based Analysis: Analyzers are selected based on the Lcid provided in the document or query. See Supported Languages for the full list.
  • Stopwords: Common words (e.g., "the", "and") are filtered out using the Stopwords API.

Field Normalization ​

Fields are processed differently based on their FieldType:

  • MainContent: Tokenized and normalized (lowercase, accent removal) for full-text search.
  • VerbatimString: Indexed exactly as provided (case-sensitive, no tokenization). Used for IDs, tags, or keys.
  • Number/DateTime: Indexed as binary values for efficient range queries.

Referential Data ​

Referential data provides system-wide context that can be used to enrich your search experience.

  • Languages: Use the Referential API to get the list of supported ISO codes (e.g., ENG, FRA). A full list is available in the Supported Languages guide.
  • Data Enrichment: You can "join" referential data during indexing to ensure consistent tagging across different sources.

Tasks & Asynchronicity ​

Operations like indexing, collection creation, package deployment, or job execution are asynchronous. Each operation returns a TaskId, which can be used to monitor the progress and outcome of the operation via the Tasks API.


Next: Authentication & Security