Read-only data domains

When defining a data domain profile, you can specify whether the data domain should be created as read-only. Having a read-only data domain is useful in the development environment or for demonstration purposes — a read-only data domain does not allow changes to its index, but lets the application users issue read-type queries, such as regular search and navigation queries.

To create a read-only data domain, you can export an existing data domain that is not read-only and then import its index using a read-only data domain profile. This way, an imported data domain will have an index with the same data in it, but its Dgraph nodes will be read-only (follower nodes), thus preventing end-users from modifying its configuration or index in any way.

Note that when you initially create a new data domain that is empty of source data, its profile should not be configured as read-only, because its index needs to be populated with data.

A read-only data domain has these characteristics:
  • It is created with the data domain profile with the read-only parameter: endeca-cmd put-dd-profile --read-only true, or readOnly in the putDataDomainProfile of the Cluster Web Service.
  • It processes only read requests to its index. This means that the Endeca Server responds to end-user queries from the Conversation Web Service, for this data domain.
  • It rejects all data loading requests (from the Bulk Load interface and from the Data Ingest Web Service), and all Configuration Web Service requests, as they are updating (read-write) requests. To let you issue "listing-type" operations to a read-only data domain, the Conversation Web Service provides equivalent read-only operations:
    • AttributeGroupListConfig retrieves a list of attribute groups in a data domain.
    • PropertyListConfig returns all the attributes in a data domain.
    • AvailableSearchKeysConfig retrieves a list of the searchable attributes and search interfaces available in the data domain.
  • It processes read-only requests from the Entity and Collection Configuration Web Service (sconfig), and rejects updating requests from this web service. This means that operations for listing entities (listEntities), listing collections (listCollections) and listing filter rules (listFilterRules) are allowed on a read-only data domain.

For more information on the Conversation Web Service, and Entity and Collection Configuration Web Service requests and how to construct them, see the Oracle Endeca Server Developer's Guide.