Commit 8913303c9d52418634b3eef81902e085260dc191

Authored by Dylan Guedes
Committed by Macartur Sousa
1 parent 382bcf69
Exists in elasticsearch_sort

Adds lexical sort for searchs without expression

plugins/elasticsearch/helpers/elasticsearch_helper.rb
@@ -64,39 +64,47 @@ module ElasticsearchHelper @@ -64,39 +64,47 @@ module ElasticsearchHelper
64 64
65 private 65 private
66 66
67 - def get_query text, klass=nil  
68 - fields = klass.nil? ? (fields_from_models searchable_models) : (fields_from_models [klass])  
69 - query = {}  
70 - unless text.blank?  
71 - text = text.downcase  
72 - query = {  
73 - query: {  
74 - multi_match: {  
75 - query: text,  
76 - type: "phrase",  
77 - fields: fields,  
78 - zero_terms_query: "none"  
79 - },  
80 - },  
81 - sort: [  
82 - {"name.raw" => {"order" => "asc"}}  
83 - ],  
84 - suggest: {  
85 - autocomplete: {  
86 - text: text,  
87 - term: {  
88 - field: "name",  
89 - suggest_mode: "always"  
90 - }  
91 - } 67 + def searchable_models
  68 + SEARCHABLE_TYPES.except(:all).keys.map { | model | model.to_s.classify.constantize }
  69 + end
  70 +
  71 + def query_method expression, fields
  72 + query_exp = {}
  73 + if expression.blank?
  74 + query_exp = {
  75 + match_all: {}
  76 + }
  77 + else
  78 + query_exp = {
  79 + multi_match: {
  80 + query: expression,
  81 + type: "phrase",
  82 + fields: fields,
  83 + zero_terms_query: "none"
92 } 84 }
93 } 85 }
94 end 86 end
95 - query 87 + query_exp
96 end 88 end
97 89
98 - def searchable_models  
99 - SEARCHABLE_TYPES.except(:all).keys.map { | model | model.to_s.classify.constantize } 90 + def get_query text="", klass=nil
  91 + fields = klass.nil? ? (fields_from_models searchable_models) : (fields_from_models [klass])
  92 + query = {
  93 + query: query_method(text, fields),
  94 + sort: [
  95 + {"name.raw" => {"order" => "asc"}}
  96 + ],
  97 + suggest: {
  98 + autocomplete: {
  99 + text: text,
  100 + term: {
  101 + field: "name",
  102 + suggest_mode: "always"
  103 + }
  104 + }
  105 + }
  106 + }
  107 + query
100 end 108 end
101 109
102 end 110 end
plugins/elasticsearch/views/elasticsearch_plugin/_person_display.html.erb
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <%= profile_image person %> 3 <%= profile_image person %>
4 </div> 4 </div>
5 <div class="right-side"> 5 <div class="right-side">
6 - <%= person.created_at.strftime("%d %B %Y at %H:%M") %> - <%= person.name %> <span class="model-label"><%= _("Person") %></span> 6 + <%= person.created_at.strftime("%d %B %Y at %H:%M") %> - <span class="model-label"><%= _("Person") %></span>
7 <div class="body"> 7 <div class="body">
8 <h2><%= link_to person.name, person.url %></h2> 8 <h2><%= link_to person.name, person.url %></h2>
9 <p><%= person.description %></p> 9 <p><%= person.description %></p>