Commit df28a349 by Ba Toi Dang

Merge branch 'features/install_rsolr' into 'master'

install rsolr

See merge request !10
parents ee7d2c4f aa51d253
......@@ -24,6 +24,7 @@ gem "settingslogic"
gem 'sidekiq'
gem 'rsolr'
gem 'rubyzip'
gem 'rsolr-ext'
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
......
......@@ -137,6 +137,8 @@ GEM
rsolr (2.0.2)
builder (>= 2.1.2)
faraday
rsolr-ext (1.0.3)
rsolr (>= 1.0.2)
rubyzip (1.2.1)
sass (3.5.3)
sass-listen (~> 4.0.0)
......@@ -195,6 +197,7 @@ DEPENDENCIES
puma (~> 3.7)
rails (~> 5.1.4)
rsolr
rsolr-ext
rubyzip
sass-rails (~> 5.0)
settingslogic
......
......@@ -66,4 +66,9 @@ class Job < ApplicationRecord
def self.filter_link_exist(links)
links - Job.where(original_link: links).pluck(:original_link)
end
# Rsolr
def self.get_data_for_solr
Job.select(:id, :name, :salary, :description, :company_id )
end
end
require 'rsolr'
require './app/models/settings.rb'
class Solr
def self.connect
puts "Connectting to #{Settings.rsolr.url}"
@solr = RSolr.connect url: Settings.rsolr.url
end
def self.update_data
# Direct connection
connect
# update data
documents = get_data
@solr.add documents
@solr.commit
puts "Data has been submmited"
end
def self.get_data
documents = []
jobs = Job.get_data_for_solr
jobs.each do |job|
data = {}
data[:id] = job.id
data[:name] = job.name
data[:salary] = job.salary
data[:company_name] = job.company.name
data[:address] = job.company.location
data[:industry] = job.industries.pluck(:name)
data[:city_name] = job.cities.pluck(:name)
data[:applied_at] = job.apply_jobs.pluck(:created_at)
data[:email] = job.apply_jobs.pluck(:email)
documents << data
end
documents
end
end
......@@ -4,7 +4,10 @@ defaults: &defaults
industry_per_page: 9
city_per_page: 9
job_per_history_page: 20
rsolr:
url: 'http://localhost:8983/solr/my_solr_collection'
read_timeout: 120
open_timeout: 120
development:
<<: *defaults
......
require "./app/solr/solr.rb"
namespace :solr do
desc "test getting data from mysql"
task update_data: :environment do |t|
Solr.update_data
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment