diff --git a/api/handlers/dataexplorerhandler.py b/api/handlers/dataexplorerhandler.py
index 34846664326e058657d0d683632f1c451e849b22..6bba5d3ca84aae958d99c88d9d30d89ae7930f7a 100644
--- a/api/handlers/dataexplorerhandler.py
+++ b/api/handlers/dataexplorerhandler.py
@@ -10,7 +10,8 @@ log = config.log
 ANALYSIS = {
     "analyzer": {
         "my_analyzer": {
-            "tokenizer": "my_tokenizer"
+            "tokenizer": "my_tokenizer",
+            "filters": ["lowercase"]
         }
     },
     "tokenizer": {
@@ -78,6 +79,12 @@ FACET_QUERY = {
                         "size" : 15
                     }
                 },
+                "session.tags" : {
+                    "terms" : {
+                        "field" : "subject.tags.raw",
+                        "size" : 15
+                    }
+                },
                 "subject.code" : {
                     "terms" : {
                         "field" : "subject.code.raw",
@@ -87,7 +94,14 @@ FACET_QUERY = {
                 "session.timestamp" : {
                     "stats" : { "field" : "session.timestamp"}
 
-                }
+                },
+                "session.archived" : {
+                    "terms" : {
+                        "field" : "session.archived.raw",
+                        "size" : 2,
+                        "missing": "false"
+                    }
+                },
             }
         },
         "session_age": {
@@ -287,16 +301,20 @@ class DataExplorerHandler(base.RequestHandler):
             self.abort(400, 'Must specify string for field query')
 
         es_query = {
-            "size": 20,
+            "size": 15,
             "query": {
                 "match" : { "name" : field_query }
             }
         }
-        es_results = config.es.search(
-            index='data_explorer_fields',
-            doc_type='flywheel_field',
-            body=es_query
-        )
+        try:
+            es_results = config.es.search(
+                index='data_explorer_fields',
+                doc_type='flywheel_field',
+                body=es_query
+            )
+        except:
+            config.log.warning('Fields not yet indexed for search')
+            return []
 
         results = []
         for result in es_results['hits']['hits']:
@@ -464,10 +482,16 @@ class DataExplorerHandler(base.RequestHandler):
     @classmethod
     def _handle_properties(cls, properties, current_field_name):
 
+        ignore_fields = [
+            '_all', 'dynamic_templates', 'analysis_reference', 'file_reference',
+            'parent', 'container_type', 'origin', 'permissions', '_id',
+            'project_has_template', 'hash'
+        ]
+
         for field_name, field in properties.iteritems():
 
             # Ignore some fields
-            if field_name in ['_all', 'dynamic_templates', 'analysis_reference', 'file_reference', 'parent', 'container_type', 'origin', 'permissions', '_id']:
+            if field_name in ignore_fields:
                 continue
 
             elif 'properties' in field:
@@ -493,8 +517,11 @@ class DataExplorerHandler(base.RequestHandler):
     @require_superuser
     def index_field_names(self):
 
-        if not config.es.indices.exists('data_explorer'):
-            self.abort(404, 'data_explorer index not yet available')
+        try:
+            if not config.es.indices.exists('data_explorer'):
+                self.abort(404, 'data_explorer index not yet available')
+        except:
+            self.abort(404, 'elastic search not available')
 
         # Sometimes we might want to clear out what is there...
         if self.is_true('hard-reset') and config.es.indices.exists('data_explorer_fields'):