diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java
index 9717aa18593231906ea667e355ad4c7b6ed29233..8df970bb762435e937f620b6d4608d71c2732d1f 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java
@@ -143,11 +143,11 @@ public class IndexerMappingServiceImpl extends MappingServiceImpl implements IMa
 
         for (Map.Entry<String, Object> entry : schema.getMetaSchema().entrySet()) {
             if (entry.getKey() == RecordMetaAttribute.AUTHORITY.getValue()) {
-                metaMapping.put(entry.getKey(), TypeMapper.getConstantIndexerType(RecordMetaAttribute.AUTHORITY, authority));
+                metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), authority));
             } else if (entry.getKey() == RecordMetaAttribute.SOURCE.getValue()) {
-                metaMapping.put(entry.getKey(), TypeMapper.getConstantIndexerType(RecordMetaAttribute.SOURCE, source));
+                metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), source));
             } else {
-                metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey()));
+                metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), null));
             }
         }
         return metaMapping;
@@ -211,11 +211,11 @@ public class IndexerMappingServiceImpl extends MappingServiceImpl implements IMa
         String source = parts[1];
         for (String attribute : missing) {
             if (attribute == RecordMetaAttribute.AUTHORITY.getValue()) {
-                properties.put(attribute, TypeMapper.getConstantIndexerType(RecordMetaAttribute.AUTHORITY, authority));
+                properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, authority));
             } else if (attribute == RecordMetaAttribute.SOURCE.getValue()) {
-                properties.put(attribute, TypeMapper.getConstantIndexerType(RecordMetaAttribute.SOURCE, source));
+                properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, source));
             } else {
-                properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute));
+                properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, null));
             }
         }
 
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
index 70b54304f580dddbf92c65a596e1b9987b95aa7a..7ef011331ea576303495db1c5cb4ceb86ea09ad1 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
@@ -91,12 +91,8 @@ public class TypeMapper {
         return metaAttributeIndexerType.getOrDefault(attribute.getValue(), null);
     }
 
-    public static Object getConstantIndexerType(RecordMetaAttribute attribute, String value) {
-        if (RecordMetaAttribute.AUTHORITY != attribute && RecordMetaAttribute.SOURCE != attribute) {
-            return null;
-        }
-
-        Map<String, Object> constantAttribute = (Map<String, Object>) metaAttributeIndexerType.get(attribute.getValue());
+    private static Object getConstantIndexerType(String key, String value) {
+        Map<String, Object> constantAttribute = (Map<String, Object>) metaAttributeIndexerType.get(key);
         constantAttribute.put("value", value);
         return constantAttribute;
     }
@@ -105,10 +101,12 @@ public class TypeMapper {
         return new ArrayList<>(metaAttributeIndexerType.keySet());
     }
 
-    public static Object getMetaAttributeIndexerMapping(String key) {
+    public static Object getMetaAttributeIndexerMapping(String key, String value) {
         if (key.equals(RecordMetaAttribute.ACL.getValue())
                 || key.equals(RecordMetaAttribute.LEGAL.getValue()) || key.equals(RecordMetaAttribute.ANCESTRY.getValue()) || key.equals(RecordMetaAttribute.INDEX_STATUS.getValue())) {
             return metaAttributeIndexerType.get(key);
+        } else if (key.equals(RecordMetaAttribute.AUTHORITY.getValue()) || key.equals(RecordMetaAttribute.SOURCE.getValue())) {
+            return getConstantIndexerType(key, value);
         }
         return Records.Type.builder().type(metaAttributeIndexerType.get(key).toString()).build();
     }
diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java
index 095098c709768476265bce64bfc1ceb23ce267b4..2768f5c93f7ac496517e62af1194de288fda815e 100644
--- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java
+++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java
@@ -2,6 +2,7 @@ package org.opengroup.osdu.indexer.util;
 
 import org.junit.Test;
 import org.opengroup.osdu.core.common.model.indexer.ElasticType;
+import org.opengroup.osdu.core.common.model.indexer.Records;
 import org.opengroup.osdu.core.common.model.indexer.StorageType;
 import org.opengroup.osdu.core.common.model.search.RecordMetaAttribute;
 
@@ -54,10 +55,11 @@ public class TypeMapperTest {
 
     @Test
     public void validate_constantAttribute_indexerMapping() {
-        Object value = TypeMapper.getConstantIndexerType(RecordMetaAttribute.ID, "");
-        assertNull(value);
+        Object value = TypeMapper.getMetaAttributeIndexerMapping(RecordMetaAttribute.ID.getValue(), "");
+        Records.Type recordsType = (Records.Type) value;
+        assertEquals("keyword", recordsType.getType());
 
-        value = TypeMapper.getConstantIndexerType(RecordMetaAttribute.AUTHORITY, "opendes");
+        value = TypeMapper.getMetaAttributeIndexerMapping(RecordMetaAttribute.AUTHORITY.getValue(), "opendes");
         Map<String, Object> mapping = (Map<String, Object>) value;
         assertEquals("constant_keyword", mapping.get("type"));
         assertEquals("opendes", mapping.get("value"));