diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 3294397027e..fa930159a54 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -2125,6 +2125,7 @@ en:
     search_help: |
       You may include special search operators:
 
+      `order:views` Results will be ordered by view count (as opposed to relevence)  
       `order:latest` Results will be ordered by last post time (as opposed to relevence)  
       `status:open` Only show open topics  
       `status:closed` Only show closed topics  
diff --git a/lib/search.rb b/lib/search.rb
index 392c8e8dd13..9ff93d8b9f4 100644
--- a/lib/search.rb
+++ b/lib/search.rb
@@ -159,6 +159,9 @@ class Search
         elsif word == 'order:latest'
           @order = :latest
           nil
+        elsif word == 'order:views'
+          @order = :views
+          nil
         elsif word =~ /category:(.+)/
           @category_id = Category.find_by('name ilike ?', $1).try(:id)
           nil
@@ -346,6 +349,12 @@ class Search
         else
           posts = posts.order("posts.created_at DESC")
         end
+      elsif @order == :views
+        if opts[:aggregate_search]
+          posts = posts.order("MAX(topics.views) DESC")
+        else
+          posts = posts.order("topics.views DESC")
+        end
       else
         posts = posts.order("TS_RANK_CD(TO_TSVECTOR(#{query_locale}, topics.title), #{ts_query}) DESC")