Elastic Search u Rails-u

Elastic Search je ogledalski DB sa indeksima vašeg postojećeg DB-a, koji se može pretraživati preko JSON API-ja. Da biste izvršili pretragu, moraćete da sinhronizujete podatke između vašeg DB-a i Elastic Search-a. To se može uraditi putem reka za izvlačenje podataka iz vaše aplikacije ili za potiskivanje podataka na vaš ES čvor putem _bulk operacija.
Ali krenimo od početka:
Preuzmite Elastic Search deb
cd /usr/share/elasticsearch
# To install Marvel inside development enviroment
sudo bin/plugin -i elasticsearch/marvel/latest
# In same directory run ES
bin/elasticsearch -d
#Check if it's working
localhost:9200
Sinhronizacija podataka
Jednostavan način:
class Article
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
end
The more complex way would be:
# 1. Bind callbacks
after_commit on: [:create] do
index_document if self.published?
end
after_commit on: [:update] do
update_document if self.published?
end
after_commit on: [:destroy] do
delete_document if self.published?
end
Korišćenje asinhronih naredbi - način koji treba preduzeti
Please refer to
https://github.com/elasticsearch/elasticsearch-rails/tree/master/elasticsearch- model
JDBC dodatak za Elastic Search
Dodatak Java Database Connection (JDBC) omogućava preuzimanje podataka iz JDBC izvora za indeksiranje u Elastic Search.
https://github.com/jprante/elasticsearch-river-jdbc
Možete postaviti skriptu koja povlači podatke iz MiSKL-a u ES. Da biste to uradili, moraćete da napišete prilagođene SKL upite.
Marvel Plugin
#Check Marvel plugin
http://any-server-in-cluster:9200/_plugin/marvel/.
Java verzije
We recommend installing the Java 8 update 20 or later, or Java 7 update 55 or later. Previous versions of Java 7 are known to have bugs that can cause index corruption and data loss.
Hostovana rešenja
https://qbox.io/
Neke reference:
http://serverfault.com/kuestions/386557/hov-to-indek-miskl-from-elasticsearch