Show / Hide Table of Contents

# Class QueryIndex

Represents cache query index configuration.

##### Inheritance

System.Object
QueryIndex

##### Inherited Members

System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()

###### Namespace: Apache.Ignite.Core.Cache.Configuration

###### Assembly: Apache.Ignite.Core.dll

##### Syntax

    public class QueryIndex

### Constructors

#### QueryIndex()

Initializes a new instance of the QueryIndex class.

##### Declaration

    public QueryIndex()

#### QueryIndex(QueryIndexField[])

Initializes a new instance of the QueryIndex class.

##### Declaration

    public QueryIndex(params QueryIndexField[] fields)

##### Parameters

Type | Name | Description
--- | --- | ---
QueryIndexField[] | fields | The fields.

#### QueryIndex(Boolean, QueryIndexType, String[])

Initializes a new instance of the QueryIndex class.

##### Declaration

    public QueryIndex(bool isDescending, QueryIndexType indexType, params string[] fieldNames)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | isDescending | Sort direction.
QueryIndexType | indexType | Type of the index.
System.String[] | fieldNames | Names of the fields to index.

#### QueryIndex(Boolean, String[])

Initializes a new instance of the QueryIndex class.

##### Declaration

    public QueryIndex(bool isDescending, params string[] fieldNames)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | isDescending | Sort direction.
System.String[] | fieldNames | Names of the fields to index.

#### QueryIndex(String[])

Initializes a new instance of the QueryIndex class.

##### Declaration

    public QueryIndex(params string[] fieldNames)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String[] | fieldNames | Names of the fields to index.

### Fields

#### DefaultInlineSize

Default value for InlineSize.

##### Declaration

    public const int DefaultInlineSize = -1

##### Field Value

Type | Description
--- | ---
System.Int32 |

### Properties

#### Fields

Gets or sets a collection of fields to be indexed.

##### Declaration

    public ICollection<QueryIndexField> Fields { get; set; }

##### Property Value

Type | Description
--- | ---
System.Collections.Generic.ICollection<QueryIndexField> |

#### IndexType

Gets or sets the type of the index.

##### Declaration

    public QueryIndexType IndexType { get; set; }

##### Property Value

Type | Description
--- | ---
QueryIndexType |

#### InlineSize

Gets index inline size in bytes. When enabled part of indexed value will be placed directly to index pages, thus minimizing data page accesses and increasing query performance.

Allowed values:

- `-1` (default) - determine inline size automatically(see below)
- `0` - index inline is disabled(not recommended)
- positive value - fixed index inline

When set to `-1`, Ignite will try to detect inline size automatically. It will be no more than SqlIndexMaxInlineSize. Index inline will be enabled for all fixed-length types, but will not be enabled for System.String.

##### Declaration

    public int InlineSize { get; set; }

##### Property Value

Type | Description
--- | ---
System.Int32 |

#### Name

Gets or sets the index name. Will be set automatically if not specified.

##### Declaration

    public string Name { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |