Switch to side-by-side view

--- a/ForgeDiscussion/forgediscussion/controllers/root.py
+++ b/ForgeDiscussion/forgediscussion/controllers/root.py
@@ -1,3 +1,4 @@
+import re
 import json
 import logging
 import pymongo
@@ -15,7 +16,7 @@
 
 from allura.lib.security import require_access, has_access, require_authenticated
 from allura.model import Feed
-from allura.lib.search import search
+from allura.lib.search import search, SearchError
 from allura.lib import helpers as h
 from allura.lib.utils import AntiSpam
 from allura.lib.decorators import require_post
@@ -119,19 +120,24 @@
         if project:
             redirect(c.project.url() + 'search?' + urlencode(dict(q=q, history=history)))
         results = []
+        search_error = None
         count=0
         limit, page, start = g.handle_paging(limit, page, default=25)
         if not q:
             q = ''
         else:
-            results = search(
-                q, rows=limit, start=start,
-                fq=[
-                    'is_history_b:%s' % history,
-                    'project_id_s:%s' % c.project._id,
-                    'mount_point_s:%s'% c.app.config.options.mount_point,
-                    '-deleted_b:true'],
-                short_timeout=True)
+            try:
+                results = search(
+                    q, rows=limit, start=start,
+                    fq=[
+                        'is_history_b:%s' % history,
+                        'project_id_s:%s' % c.project._id,
+                        'mount_point_s:%s'% c.app.config.options.mount_point,
+                        '-deleted_b:true'],
+                    short_timeout=True,
+                    ignore_errors=False)
+            except SearchError as e:
+                search_error = e
             if results: count=results.hits
         c.search_results = self.W.search_results
         if results is not None:
@@ -142,7 +148,7 @@
                     p = model.ForumPost.query.get(_id=_id)
                     doc['url_paginated'] = p.url_paginated()
         return dict(q=q, history=history, results=results or [],
-                    count=count, limit=limit, page=page)
+                    count=count, limit=limit, page=page, search_error=search_error)
 
     @expose('jinja:allura:templates/markdown_syntax.html')
     def markdown_syntax(self):