For a namespace to be searchable through either the metadata query API or the Search Console, it must be search enabled, and its effective permission mask must include the read and search permissions. Additionally, to get results from object-based queries through the metadata query API and from searches through the Search Console with any search facility, the namespace must be indexed by the applicable search facility.
You can enable search for your namespaces only if allowed to do so by the tenant configuration. HCP system-level administrators can change this configuration from not allowing you to enable search to allowing it. However, they cannot do the reverse.
The metadata query engine and the HCP search facility index each namespace that has both search and indexing enabled. When you first enable search for a namespace, indexing is enabled by default.
The metadata query engine index is based on system metadata, ACLs, and, optionally, custom metadata that is well-formed XML. The HCP search facility index is based on object data, system metadata, and, optionally, custom metadata.
You can enable or disable indexing for a namespace at any time while search is enabled for the namespace. Disabling indexing for a namespace prevents the metadata query engine and HCP search facility from updating their indexes with new objects and metadata changes in that namespace. When indexing is reenabled, these facilities update their indexes with the backlogged objects and changes and continue indexing from there.
You can enable or disable indexing of custom metadata for a namespace at any time while indexing is enabled for the namespace. Because indexing custom metadata can significantly increase the size of the indexes, you should enable it only if users need to perform searches based on custom metadata.
Indexing can be disabled for the metadata query engine or HCP search facility at the HCP system level. If this indexing is disabled at the system level, enabling it at the namespace level has no effect.
Similarly, custom metadata indexing can be disabled for the metadata query engine or HCP search facility at the HCP system level. If this indexing is disabled at the system level, enabling it at the namespace level has no effect.
You can reduce the amount of custom metadata the metadata query engine indexes by creating content properties. Content properties not only decrease the size of the index but also enable users to query for objects more easily and intuitively.
You can also reduce the size of the metadata query engine index by excluding selected custom metadata annotations from being indexed.
Content properties and annotation exclusions affect only metadata query engine indexing. They have no effect on HDDS and HCP search facility indexing.
When indexing custom metadata, the HCP search facility indexes only annotations named default.
The HDDS search facility indexes objects in a namespace only while all of these are true:
- Search is enabled for the namespace.
- HTTP is enabled for the namespace.
- The effective permission mask for the namespace includes the read and search permissions.
- The HCP management API is enabled at both the system level and tenant levels.
- The HCP system uses DNS for system addressing.
- The namespace is known to HDDS.
You can disable and reenable search for a namespace at any time. When you disable search, indexing is automatically disabled for all three search facilities.
Disabling search also removes objects in the namespace from the metadata query engine and HCP search facility indexes. If you subsequently reenable search for the namespace, the namespace must be completely reindexed. The amount of time required to rebuild the indexes depends on the amount of data in the namespace. With a very large amount of data, this process can take several days.