瀏覽代碼

HUE-5093 [metadata] Sort facet values by counts

Romain Rigaux 9 年之前
父節點
當前提交
90af786e67
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      desktop/libs/metadata/src/metadata/navigator_api.py

+ 8 - 1
desktop/libs/metadata/src/metadata/navigator_api.py

@@ -18,6 +18,11 @@
 import json
 import logging
 
+try:
+  from collections import OrderedDict
+except ImportError:
+  from ordereddict import OrderedDict # Python 2.6
+
 from django.http import Http404
 from django.utils.translation import ugettext as _
 from django.views.decorators.http import require_POST
@@ -28,6 +33,7 @@ from desktop.lib.i18n import force_unicode
 from metadata.conf import has_navigator
 from metadata.navigator_client import NavigatorApi
 
+
 LOG = logging.getLogger(__name__)
 
 
@@ -203,7 +209,8 @@ def search_entities_interactive(request):
 
   if response.get('facets'): # Remove empty facets
     for fname, fvalues in response['facets'].items():
-      response['facets'][fname] = dict((k, v) for k, v in fvalues.items() if v > 0)
+      fvalues = sorted([(k, v) for k, v in fvalues.items() if v > 0], key=lambda n: n[1], reverse=True)
+      response['facets'][fname] = OrderedDict(fvalues)
       if ':' in last_query_term and not response['facets'][fname]:
         del response['facets'][fname]