<?xml version="1.0" encoding="UTF-8"?>
<!--
! CDDL HEADER START
!
! The contents of this file are subject to the terms of the
! Common Development and Distribution License, Version 1.0 only
! (the "License"). You may not use this file except in compliance
! with the License.
!
! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
! or http://forgerock.org/license/CDDLv1.0.html.
! See the License for the specific language governing permissions
! and limitations under the License.
!
! When distributing Covered Code, include this CDDL HEADER in each
! file and include the License file at legal-notices/CDDLv1_0.txt.
! If applicable, add the following below this CDDL HEADER, with the
! fields enclosed by brackets "[]" replaced with your own identifying
! information:
! Portions Copyright [yyyy] [name of copyright owner]
!
! CDDL HEADER END
!
! Copyright 2015 ForgeRock AS.
!
-->
<variablelist
xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://docbook.org/ns/docbook
http://docbook.org/xml/5.0/xsd/docbook.xsd'>
<para>
When you run the 'show-index-status' command, the result is a table, followed by a "Total",
which is the total number of indexes, followed by a list of indexes with "Over index-entry-limit keys" to
show the values for which the number of entries exceeded the index entry limit.
The table has the following columns.
</para>
<varlistentry>
<term>Index Name</term>
<listitem>
<para>
Name of the index, which takes the form <replaceable>attr.type</replaceable> for attribute indexes,
and vlv.<replaceable>name</replaceable> for VLV indexes.
Some indexes are for OpenDJ directory server's internal use.
</para>
<para>
Example: <literal>givenName.caseIgnoreSubstringsMatch:6</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Raw DB Name</term>
<listitem>
<para>
The internal name of the database within the storage which OpenDJ directory server is using for the index.
</para>
<para>
Example: <literal>/dc=example,dc=com/givenName.caseIgnoreSubstringsMatch:6</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Index Valid</term>
<listitem>
<para>
This is <literal>true</literal> for valid indexes. If this is <literal>false</literal>, the index might be degraded.
Verify the index, and rebuild the index if necessary.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Record Count</term>
<listitem>
<para>
Number of indexed keys.
Use the <command>backendtool dump-tree</command> command to see how many entry IDs correspond to each key.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Over Index Entry Limit</term>
<listitem>
<para>
Number of keys for which there are too many values to maintain an index, based on the index entry limit.
This is recorded as <literal>-</literal> for VLV indexes.
</para>
<para>
In other words, with the default index entry limit of 4000, if every user in your large directory has
an email address ending in <literal>@example.com</literal>, and a substring index with default substring
length of 6 is maintained for <literal>mail</literal>, then OpenDJ directory server does not maintain indexes
for keys corresponding to substrings in <literal>@example.com</literal>.
</para>
<para>
As a result, an LDAP search with the filter <literal>"(mail=*@example.com)"</literal> becomes an unindexed search
even though a substring index exists for the mail attribute.
By default OpenDJ directory server does not allow unindexed searches except by privileged users.
This is usually exactly the behavior you want in order to prevent client applications
from sending searches that return every user in the directory for example.
Clients should refine their search filters instead.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>95&#x25;, 90&#x25;, 85&#x25;</term>
<listitem>
<para>
Number of keys for which the number of values is approaching the index entry limit, having at least the specified
percentage.
This is a measure of how full the entry ID lists are.
</para>
</listitem>
</varlistentry>
</variablelist>