User Identity Index

The Sitevision Identity Index (also vaguely known as "the social index") contains sv:userIdentity data. The User Identity Index is of type sv:applicationIndex.

User Identity Index requires license feature "Social Collaboration".

The User Identity Index search endpoint of the REST API requires that calling user has Permission.READ on the sv:site.

The User Identity Index must be explicitly specified (i.e. via SearcherBuilder.setIndex) when querying it via Searcher in the API. The User Identity Index is typically fetched via IndexUtil.

var searchFactory = require('SearchFactory');
var identityIndexType = require('IndexUtil.IndexType.USER_IDENTITY');

// Get the User Identity index
var indexUtil = searchFactory.getIndexUtil();
var identityIndex = indexUtil.getDefaultIndex(identityIndexType);

if (identityIndex) {
   var searcher = searchFactory.getSearcherBuilder()
                    .setIndex(identityIndex) // Set index
                    .build();

   var searchResult = searcher.search('the query', 10);
   /* handle search result... */   
} else {
   /* handle what to do when there's no User Identity index */
}

Fields

active (solr.BoolField, stored)

Whether identity is active or not.

backinguser (solr.StrField, stored)

The Node identifier of the identity's backing user.

backinguserdirectory (solr.StrField, stored)

The Node identifier of the directory of the backing user.

backinguserdn (solr.StrField, stored)

DN for the backing user.

backinguserdnpaths (solr.StrField, stored, multivalued)

DN Paths for the backing user.

backingusergroups (solr.StrField, stored, multivalued)

Node identifiers of the directory groups of the backing user.

backingusergroupsdn (solr.StrField, stored, multivalued)

DN's for the directory groups of backing user.

created (solr.TrieDateField, stored)

Creation date.

devices (solr.StrField, stored, multivalued)

The known (mobile) devices of the identity.

iconurl (solr.StrField, stored)

Small buddy icon URI.

id (solr.StrField, stored, unique)

The unique document id (the Node identifier of the identity).

largeiconurl (solr.StrField, stored)

Large buddy icon URI.

lastindexed (solr.TrieDateField, stored)

Indexing timestamp (i.e. when was this document indexed?)

lastlogin (solr.TrieDateField, stored)

Last Login date.

mail (solr.StrField, stored, multivalued)

Mail adress.

mail.analyzed (solr.TextField, analyzed, multivalued)

Mail address in analyzed form.

name (solr.StrField, stored, multivalued)

Name of the identity.

name.analyzed (solr.TextField, analyzed, multivalued)

Name in analyzed form. This is a default query field.

  • Used as "qf" by ExtendedDisMaxParser
  • Used as "df" by StandardParser

name.sortable (solr.CollationField)

Name in sortable form.

searchable (solr.BoolField, stored)

Whether or not the identity should be searchable (some build-in Sitevision modules and functions uses this field to bypass searchability - i.e. can find "non-searchable" identities).

site (solr.StrField, stored)

The sv:site of the identity.

svtype (solr.StrField, stored, multivalued)

Type of resource. Field exists for compability with other indexes only (value is always "useridentity").

topics (solr.StrField, stored, multivalued) [@Since 2023.05.1]

Node identifiers of all sv:topic the identity are member of

workstatus (solr.StrField, stored) [@Since 2024.01.1]

Work status text.

workstatus.analyzed (solr.TextField, analyzed) [@Since 2024.01.1]

Work status text in analyzed form.

workstatusexpires (solr.TrieDateField, stored) [@Since 2024.01.1]

When the work status expires (could be a date in the past).

Use a filter query to get identities with an active work status:

+workstatusexpires:[NOW TO *]

Dynamic Fields

User fields of an identity is handled by dynamic fields that are prefixed with "userfield.".

userfield.* (solr.StrField, stored, multivalued)

The user field value as string.

userfield.analyzed.* (solr.TextField, analyzed, multivalued)

The user field value in analyzed format.

Will be appended implicitly as default query field in Searcher when using the ExtendedDisMaxParser when no custom search fields ("qf") are explicitly set.

userfield.sortable.* (solr.CollationField)

The user field value in sortable format