Using copy fields

DSE Search supports the stored=false copyField directive in the schema.xml file. Ingested data is copied by the copy field mechanism to the destination field for search, but is not stored in Cassandra.

DSE Search supports the stored=false copyField directive in the schema.xml file. Ingested data is copied by the copy field mechanism to the destination field for search, but is not stored in Cassandra. When you add a new copyField directive to the schema.xml, pre-existing and newly ingested data is re-indexed when copied as a result of the new directive.

Note: The Solr stored=true copyField directive is removed.
DataStax recommends that you upgrade an existing core by changing the directive and reloading the core as follows:
  1. Change the stored attribute value of a copyField directive from true to false in the schema.xml file.
  2. Post the solrconfig.xml and the modified schema.xml.
  3. Reload the Solr core, specifying an in-place re-index.

Old data and Cassandra columns remain intact, but stored copy fields are not applied to new data.

Using a copy field and multivalued field

When you use copy fields to copy multiple values into a field, CQL comes in handy because you do not need to format the data in JSON, for example, when you insert it. Using the Solr HTTP API update command, the data must be formatted.

Use the CQL BATCH command to insert column values in a single CQL statement to prevent overwriting. This process is consistent with Solr HTTP APIs, where all copied fields need to be present in the inserted document. You need to use BATCH to insert the column values whether or not the values are stored in Cassandra.

Using docValues and copy fields for faceting

Using docValues can improve performance of faceting, grouping, filtering, sorting, and other operations described on the Solr Wiki.

For faceting to use docValues, the schema needs to specify multiValued="true" even if the field is a single-value facet field. The field needs to include docValues="true". You also need to use a field type that supports being counted by Solr. The text type, which tokenizes values, cannot be used, but the string type works fine. DataStax Enterprise supports all aspects of copy fields except:
  • The maxChars attribute is not supported.
  • Copying from/to the same dynamic field is not supported.