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 64  
65 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 86 end
95   - query
  87 + query_exp
96 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 108 end
101 109  
102 110 end
... ...
plugins/elasticsearch/views/elasticsearch_plugin/_person_display.html.erb
... ... @@ -3,7 +3,7 @@
3 3 <%= profile_image person %>
4 4 </div>
5 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 7 <div class="body">
8 8 <h2><%= link_to person.name, person.url %></h2>
9 9 <p><%= person.description %></p>
... ...