added elasticsearch gem and index method
This commit is contained in:
@@ -14,7 +14,7 @@ platform :ruby do
|
|||||||
gem "activerecord"
|
gem "activerecord"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
gem 'elasticsearch'
|
||||||
gem "sinatra"
|
gem "sinatra"
|
||||||
gem "sinatra-activerecord"
|
gem "sinatra-activerecord"
|
||||||
gem "json"
|
gem "json"
|
||||||
|
|||||||
@@ -26,6 +26,16 @@ GEM
|
|||||||
builder (3.2.2)
|
builder (3.2.2)
|
||||||
celluloid (0.16.0)
|
celluloid (0.16.0)
|
||||||
timers (~> 4.0.0)
|
timers (~> 4.0.0)
|
||||||
|
elasticsearch (1.0.8)
|
||||||
|
elasticsearch-api (= 1.0.7)
|
||||||
|
elasticsearch-transport (= 1.0.7)
|
||||||
|
elasticsearch-api (1.0.7)
|
||||||
|
multi_json
|
||||||
|
elasticsearch-transport (1.0.7)
|
||||||
|
faraday
|
||||||
|
multi_json
|
||||||
|
faraday (0.9.1)
|
||||||
|
multipart-post (>= 1.2, < 3)
|
||||||
ffi (1.9.6)
|
ffi (1.9.6)
|
||||||
ffi (1.9.6-java)
|
ffi (1.9.6-java)
|
||||||
hitimes (1.2.2)
|
hitimes (1.2.2)
|
||||||
@@ -41,6 +51,7 @@ GEM
|
|||||||
rb-inotify (>= 0.9)
|
rb-inotify (>= 0.9)
|
||||||
minitest (5.5.0)
|
minitest (5.5.0)
|
||||||
multi_json (1.10.1)
|
multi_json (1.10.1)
|
||||||
|
multipart-post (2.0.0)
|
||||||
pg (0.17.1)
|
pg (0.17.1)
|
||||||
puma (2.10.2)
|
puma (2.10.2)
|
||||||
rack (>= 1.1, < 2.0)
|
rack (>= 1.1, < 2.0)
|
||||||
@@ -86,6 +97,7 @@ DEPENDENCIES
|
|||||||
activerecord
|
activerecord
|
||||||
activerecord-jdbcpostgresql-adapter
|
activerecord-jdbcpostgresql-adapter
|
||||||
bcrypt (~> 3.1.7)
|
bcrypt (~> 3.1.7)
|
||||||
|
elasticsearch
|
||||||
jruby-openssl
|
jruby-openssl
|
||||||
json
|
json
|
||||||
pg
|
pg
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ require 'sinatra/activerecord'
|
|||||||
require './config'
|
require './config'
|
||||||
require 'json'
|
require 'json'
|
||||||
require 'sinatra/cookies'
|
require 'sinatra/cookies'
|
||||||
|
require 'elasticsearch'
|
||||||
|
|
||||||
|
|
||||||
Dir[File.dirname(__FILE__) + '/models/*.rb'].each {|file| require file }
|
Dir[File.dirname(__FILE__) + '/models/*.rb'].each {|file| require file }
|
||||||
|
|
||||||
|
|||||||
18
front-api/controllers/search.rb
Normal file
18
front-api/controllers/search.rb
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
get '/search/index' do
|
||||||
|
es_client = Elasticsearch::Client.new log: true
|
||||||
|
|
||||||
|
all_items = Item.all.to_a
|
||||||
|
all_items.each do |item|
|
||||||
|
es_client.index index: 'ribica', type: 'items', id: item.id, body: {
|
||||||
|
title: 'Test',
|
||||||
|
name: item.name,
|
||||||
|
code: item.code,
|
||||||
|
description: item.description,
|
||||||
|
sub_category: item.sub_category.name,
|
||||||
|
category: item.sub_category.category.name,
|
||||||
|
section: item.sub_category.category.section.name
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
"ok".to_json
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user