Collections

Your data is organized into collections. When you create an app, Fusion automatically creates a collection with the same name. You can create additional collections in any app.

A primary collection contains the data that your users will search. Every primary collection is associated with a set of auxiliary collections that contain related data, such as signals, aggregations, and more.

Under the hood, a Fusion collection is a distributed index in Solr, defined by a named configuration stored in ZooKeeper, with these properties:

A collection of documents to use for rewriting queries, optimized for high-volume traffic. These documents originate from the _query_rewrite_staging collection. Certain Fusion AI query pipeline stages read from this collection:

A collection of documents created by the Rules Editor or by certain Fusion AI jobs, not optimized for production traffic.

Documents move from this collection to the _query_rewrite collection as follows:

Job output documents with high confidence contain a review=auto field and are moved to the _query_rewrite collection automatically.

Job output documents with low confidence contain a review=pending field. When these are approved by a Fusion user, Fusion copies them to the _query_rewrite collection.

1 per app

<Collection>_signals

A search query logs and signals collection.

1 per collection

<Collection>_signals_aggr

A collection for aggregated signals.

1 per collection

<App>_user_prefs

A collection of data to support App Studio’s social features, such as user-generated tags, bookmarks, comments, ratings, and so on.

1 per collection

Note

Do not create primary collections with names that end in the suffixes above; these are reserved for Fusion auxiliary collections, which are created and managed by Fusion directly.

Fusion maintains a set of Solr collections that store Fusion’s own
log files and other internal information.
These are called System Collections, described below.

Note

Do not create primary collections named "logs", or beginning with "system_".
These names are reserved for Fusion system collections.

Fusion uses ZooKeeper to register information about all collections,
and the Fusion components and services related to a collection.
The Fusion components associated with a collection include:

Datasources

Pipelines

Profiles

Signals and aggregations

Analytics dashboards

System Collections

Fusion automatically creates some collections that are used for internal purposes and shared across all apps:

system_autocomplete store the content that the Fusion UI displays when you use the search bar.

system_blobs stores blobs in Solr. This is used to store model files for the NLP components and other binary files used by Fusion components.

system_history keeps a record of configuration changes, start and stop times for services and experiments, and more.

system_jobs_history keeps a record of Fusion jobs, including start/stop times and status.

system_logs stores parsed Java, logs from the REST API, connectors-classic component, and other parts of Fusion, like proxy, connectors-rpc, and appkit app insights.
It also includes http logs and optional gc logs (off by default in Fusion 4.1). Prior to Fusion version 4.1, Java logs were stored in the logs collection and HTTP requests were stored in the audit_logs collection.

When you create a collection in the Fusion UI, this property defaults to true.
When you create a collection using the Fusion API, this property defaults to false.

dynamicSchema

When dynamicSchema is true,
Fusion and Solr use schemaless mode
to administer search and indexing over that collection.**

Property dynamicSchema always defaults to false.

*Signals are events with timestamps that can be used to improve search results.
For more information about signals in Fusion, see Signals in the Fusion AI documentation.

**In schemaless mode, if a document contains a field not currently in the Solr schema, Solr processes the field value to determine what the field type should be defined as, and then adds a new field to the schema with the field name and field type.
This behavior can be convenient during preliminary application development, but it is rarely appropriate in a production environment.

Using profiles to associate collections with pipelines

Index pipelines and query pipelines are not connected to a specific collection by default. Index profiles and query profiles are configurations that create consistent endpoints for indexing and querying, each with a specific pipeline and collection.

Index Profiles work with index pipelines for getting content into the system.