added elasticsearch gem and index method

This commit is contained in:
Edin Dazdarevic
2015-03-21 00:00:36 +01:00
parent fb080ed487
commit 88c53a8512
4 changed files with 33 additions and 1 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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 }

View 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