Commit 1692d521 by Xuan Trung Le

install rsolr

parent b94adaf7
......@@ -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
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