Collection Features API

The Collection Features API lets you manage these features for a collection:

Property Description

dynamicSchema

Modify the Solr schema to be "managed", which means it’s possible for Fusion to use Solr’s schema API to manage the schema. It also sets Solr to operate in 'schemaless' mode, which means fields do not need to be pre-defined in the schema for them to be added to Solr’s index. Note that this applies to the Solr included with Fusion, and does not modify an existing Solr cluster, if you have one already.

searchLogs

Create a parallel collection for the storage of log data which is used to generate search query reports.

signals

Creates a parallel collection for the storage of signals data (such as user clicks, or ratings). Signals will need to be indexed and aggregated in order to be used. See the section on Signals for more information.

Get a List of Collection Feature Properties

The path for this request is:

/api/apollo/collections/<collection>/features/<featureName>

where <collection> is the name of an existing collection and <featureName> is the name of a specific feature from the table above.

A GET request will return the current properties for that feature. If no feature name is specified, a GET request will return all features for that collection.

Collection Feature Properties

Property Description

featureName

The name of the feature, from the table above.

collectionId

The collection name.

params

Parameters of the feature.

enabled

Whether the feature is enabled or disabled. In a new collection, all features are disabled.

Update a Specified Feature

A PUT request to endpoint:

/api/apollo/collections/<collection>/features/<featureName>

updates the setting for the specified collection feature. The PUT request body consists of either { "enabled": true } or { "enabled" : false }. A PUT request with no body is equivalent to { "enabled" : false }.

Examples

List the status of the features for the "demo" collection:

REQUEST

curl -u user:pass http://localhost:8764/api/apollo/collections/demo/features

RESPONSE

 [ {
  "name" : "dynamicSchema",
  "collectionId" : "demo",
  "params" : { },
  "enabled" : false
}, {
  "name" : "searchLogs",
  "collectionId" : "demo",
  "params" : { },
  "enabled" : false
}, {
  "name" : "signals",
  "collectionId" : "demo",
  "params" : { },
  "enabled" : false
} ]

Enable signals for a collection named 'demo':

REQUEST

curl -u user:pass -X PUT -H Content-type:application/json -d '{"enabled":true}' http://localhost:8764/api/apollo/collections/demo/features/signals