diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
index dd3d7519c91a95b14987c3b4a1f530750a6ecaf1..31e253eaeda6d9933856bd62a9077d39029da59c 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
@@ -70,6 +70,9 @@ public class IndexerServiceImpl implements IndexerService {
 
     private final Gson gson = new GsonBuilder().serializeNulls().create();
 
+    // we index a normalized kind (authority + source + entity type + major version) as a tags attribute for all records
+    private static String NORMALIZATION_KIND_TAG_ATTRIBUTE_NAME = "normalizedKind";
+
     @Inject
     private JaxRsDpsLog jaxRsDpsLog;
     @Inject
@@ -310,6 +313,7 @@ public class IndexerServiceImpl implements IndexerService {
             String authority = kindParts[0];
             String source = kindParts[1];
             String type = kindParts[2];
+            String[] versionParts = kindParts[3].split("\\.");
             document.setKind(storageRecord.getKind());
             document.setNamespace(authority + ":" + source);
             document.setAuthority(authority);
@@ -319,9 +323,12 @@ public class IndexerServiceImpl implements IndexerService {
             document.setVersion(storageRecord.getVersion());
             document.setAcl(storageRecord.getAcl());
             document.setLegal(storageRecord.getLegal());
-            if (storageRecord.getTags() != null) {
-                document.setTags(storageRecord.getTags());
+            if (storageRecord.getTags() == null) {
+                Map<String, String> constantTags = new HashMap<>();
+                constantTags.put(IndexerServiceImpl.NORMALIZATION_KIND_TAG_ATTRIBUTE_NAME, String.format("%s:%s:%s:%s", authority, source, type, versionParts[0]));
+                storageRecord.setTags(constantTags);
             }
+            document.setTags(storageRecord.getTags());
             document.setCreateUser(storageRecord.getCreateUser());
             document.setCreateTime(storageRecord.getCreateTime());
             if (!Strings.isNullOrEmpty(storageRecord.getModifyUser())) {