IndexCreateFunc creates a new secondary index on a table. Secondary indexes improve the speed of many read queries at the slight cost of increased storage space and decreased write performance. The function takes a index name and RQL term as the index value , the term can be an anonymous function or a binary representation obtained from the function field of indexStatus.

It supports the creation of the following types of indexes.

- Simple indexes based on the value of a single field where the index has a
  different name to the field.
- Compound indexes based on multiple fields.
- Multi indexes based on arrays of values, created when the multi optional argument is true.