diff --git a/server/controllers/lighthouse.js b/server/controllers/lighthouse.js
index d31a32d..4e0020f 100644
--- a/server/controllers/lighthouse.js
+++ b/server/controllers/lighthouse.js
@@ -28,33 +28,94 @@ function getResults (input) {
       'query': {
         'bool': {
           'should': [
-            {
+            { // Match search text as phrase - Name
+              'match_phrase': {
+                'name': {
+                  'query': input.s.trim(),
+                  'boost': 10,
+                },
+              },
+            },
+            { // Match search text - Name
               'match': {
                 'name': {
-                  'query': '*' + input.s.trim() + '*',
+                  'query': input.s.trim(),
                   'boost': 5,
                 },
               },
             },
+            { // Contains search term - Name
+              'query_string': {
+                'query' : '*' + input.s.trim() + '*',
+                'fields': [
+                  'name',
+                ],
+                'boost': 3,
+              },
+            },
             {
-              'nested': { // Need nested query because value is a nested object on the elastic document
+              'nested': {
                 'path' : 'value',
                 'query': {
                   'bool': {
                     'should': [
-                      {
-                        'match': {
-                          'value.stream.metadata.title': '*' + input.s.trim() + '*',
+                      { // Contains search term in Author, Title, Description
+                        'query_string': {
+                          'query' : '*' + input.s.trim() + '*',
+                          'fields': [
+                            'value.stream.metadata.author',
+                            'value.stream.metadata.title',
+                            'value.stream.metadata.description',
+                          ],
+                          'boost': 1,
                         },
                       },
-                      {
+                      { // Match search term - Author
                         'match': {
-                          'value.stream.metadata.author': '*' + input.s.trim() + '*',
+                          'value.stream.metadata.author': {
+                            'query': input.s.trim(),
+                            'boost': 2,
+                          },
                         },
                       },
-                      {
+                      { // Match search text as phrase - Author
+                        'match_phrase': {
+                          'value.stream.metadata.author': {
+                            'query': input.s.trim(),
+                            'boost': 3,
+                          },
+                        },
+                      },
+                      { // Match search term - Title
                         'match': {
-                          'value.stream.metadata.description': '*' + input.s.trim() + '*',
+                          'value.stream.metadata.title': {
+                            'query': input.s.trim(),
+                            'boost': 2,
+                          },
+                        },
+                      },
+                      { // Match search text as phrase - Title
+                        'match_phrase': {
+                          'value.stream.metadata.title': {
+                            'query': input.s.trim(),
+                            'boost': 3,
+                          },
+                        },
+                      },
+                      { // Match search term - Description
+                        'match': {
+                          'value.stream.metadata.description': {
+                            'query': input.s.trim(),
+                            'boost': 2,
+                          },
+                        },
+                      },
+                      { // Match search text as phrase - Description
+                        'match_phrase': {
+                          'value.stream.metadata.description': {
+                            'query': input.s.trim(),
+                            'boost': 3,
+                          },
                         },
                       },
                     ],