public IDictionary <string, Type> GetFullTextSearchFields <TMetaData>()
            where TMetaData : IMetaDataExpression
        {
            if (_fullTextSearchFields.ContainsKey(typeof(TMetaData)))
            {
                return(_fullTextSearchFields[typeof(TMetaData)]);
            }
            var fields = FieldAttribute.GetFields <TMetaData>(true);

            _fullTextSearchFields.AddOrUpdate(typeof(TMetaData), fields, (type, types) => types);
            return(fields);
        }