From c36bdf0779f64a00cac9377ee670b78d28b0c20f Mon Sep 17 00:00:00 2001 From: Mateus Rambo Strey <mars11@inf.ufpr.br> Date: Mon, 1 Feb 2016 19:37:27 -0200 Subject: [PATCH] add elasticsearch autocomplete --- app/assets/javascripts/application/autocomplete.js | 2 +- app/controllers/search_controller.rb | 14 ++++++-------- app/models/learning_object.rb | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/application/autocomplete.js b/app/assets/javascripts/application/autocomplete.js index 8e42ea9a6..6d532090f 100644 --- a/app/assets/javascripts/application/autocomplete.js +++ b/app/assets/javascripts/application/autocomplete.js @@ -4,7 +4,7 @@ $(document).ready(function() { source: function (request, response) { $.ajax({ url: "/autocomplete", - data: { q: request.term }, + data: { query: request.term }, dataType: "json", success: response, error: function () { diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index a4a001fba..70e9f5b69 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -18,14 +18,12 @@ class SearchController < ApplicationController end def autocomplete - begin - auto = AutocompleteService.new - query = params['q'] || '' - json_data = auto.query(query) - render text: json_data - rescue - render text: '[]' - end + render json: LearningObject.search(params[:query], { + fields: ['name^5', 'author'], + limit: 10, + load: false, + misspellings: { below: 5 } + }).map(&:name) end private diff --git a/app/models/learning_object.rb b/app/models/learning_object.rb index cadcdf4eb..0deef6226 100644 --- a/app/models/learning_object.rb +++ b/app/models/learning_object.rb @@ -12,7 +12,7 @@ class LearningObject < ActiveRecord::Base belongs_to :publisher, polymorphic: true - searchkick language: "brazilian" + searchkick language: 'brazilian', searchable: [:name, :description, :author, :object_type] def search_data { -- GitLab