Πως να εγκαταστήσετε την Solr στο Debian 8

install-solr

Η Solr είναι μια πλατφόρμα μηχανής αναζήτησης που βασίζεται στην Apache Lucene . ‘Εχει γραφτεί σε Java και χρησιμοποιεί το Lucene Library για να μπορεί να εφαρμόσει λειτουγίες indexing . Μπορούμε να αποκτήσουμε πρόσβαση στην Solr  μέσω διάφορων API ,πχ.  τα XML και JSON . Μαζί θα εγκαταστήσουμε την Solr σε ένα σύστημα Debian 8 .

Πριν την εγκατάσταση 

Για να συνεχίσουμε με την εγκατάσταση πρέπει να έχουμε :

  • ‘Εναν Virtual Host με τουλάχστιν 1 GB μνήμης

  • ‘Εναν non-root-sudo χρήστη .

Εγκατάσταση

Βήμα 1 Εγκατάσταση της Java

Επειδή η Solr είναι γραμμένη σε Java , πρέπει πρώτα να την εγκαταστήσουμε :

Πρώτα χρησιμοποιούμε την aptget για να κάνουμε install τα python-software-properties :

sudo apt-get install python-software-properties

‘Επειτα προσθέσουμε στο source της aptget ένα repository της java :

sudo add-apt-repository ppa:webupd8team/java

Κάνουμε update την apt get :

sudo apt-get update

Τέλος κάνουμε install την java :

sudo apt-get install oracle-java8-installer



Βήμα 2 Εγκατάσταση της Solr

Πρώτα βρίσκουμε το link της τελευταίδας έκδοσης απο εδώ , και κάνουμε download με την wget :

cd ~

wget http://apache.mirror1.spango.com/lucene/solr/5.2.1/solr-5.2.1.tgz

Κάνουμε extract :

tar xzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh --strip-components=2

Κάνουμε εγκατάσταση :

sudo bash ./install_solr_service.sh solr-5.2.1.tgz

Τέλος εκτελούμε την ακόλουθη εντολή για να δούμε οτι έγινε η εγκατάσταση επιτυχώς :

sudo service solr status

Πρέπει να πάρουμε την ακόλουθη έξοδο :

Solr status output
Found 1 Solr nodes: 

Solr process 2750 running on port 8983

. . .


Βήμα 3 Δημιουργία ενός Collection

 Η Solr μπορεί να χρησιμοποιεί διάφορα collections(συλλογές) , αλλα στην προκειμένη περίπτωση θα χρησιμοποιήσουμε μόνο ένα ως παράδειγμα . Τα collections είναι κάτι σαν πίνακες . Το κομμάτι του collection που βρίσκεται σε έναν server λέγεται core . 

 Για να δημιουργήσουμε ένα νέο collection θα τρέξουμε την εντολή :

sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs" 

Ας δούμε λιγο το  κομμάτι της εντολής : gettingstarted -n

Το gettingstarted είναι το όνομα που ορίσαμε για το collection και το -n είναι το configset . Μπορούν να χρησιμοποιηθούν διάφορα configsets . Το -n λέγεται schemaless δηλαδή κάθε πεδίο μπορεί να συμπληρωθεί με οποιαδήποτε δεδομένα και ο τύπος τους θα βρεθεί αυτόματα .

 Τώρα έχουμε δημιουργήσει ένα νέο collection και μπορούμε να προσθέσουμε δεδομένα σε αυτό . Κάθε collection έχει μόνο ένα default πεδίο το ID . ‘Ολα τα άλλα πεδία είναι δυναμικά .

 

Βήμα 4 Πρόσθεση δεδομένων και Querys στο Collection

 Για να δούμε το web interface της Solr , ανοίγουμε ένα browser και βάζουμε την διέυθυνση 

http://your_server_ip:8983/solr

solrrr.PNG

Τα collections μοιράζονται σε cores . Τη δεδομένη στιγμή to collection gettingstarted περιέχει μόνο ένα core , και αυτό με όνομα gettingstarted . Στα αριστερά υπάρχει ένα dropdown menu  με όνομα CoreSelector . Διαλέγουμε το gettingstarted για να δούμε περισσότερες πληροφορίες . ‘Eπειτα επιλέγουμε τα Documents . Τα documents περιέχουν τα δεδομένα τα οποία θα μπορεί να αναζητήσει το Solr . Επειδή έχουμε διαλέξει schemaless configuration μπορούμε να εισάγουμε δεδομένα σε κάθε πεδίο .

Ας δοκιμάσουμε να προσθέσουμε ένα νέο document . Ως παράδειγμα στο πεδίο του document θα προσθέσουμε τα παρακάτω :

{
   "number": 1,
  
 "president": "George Washington",

   "birth_year": 1732,

   "death_year": 1799,

   "took_office": "1789-04-30",

   "left_office": "1797-03-04",

   "party": "No Party"
}

 Πατάμε το Submit . Μετα απο λίγα δεύτερα πρέπει να δούμε το εξής :

Output after adding Document

Status: success

Response:
{
 "responseHeader": {
  
 "status": 0,

   "QTime": 509
 }
}

Τώρα για να κάνουμε query το document που μόλις προσθέσαμε πατάμε στα αριστερά της οθόνης Query και μετά Execute Query με τις default ρυθμίσεις .

Ως έξοδο θα πάρουμε το παρακάτω : 

Query output

{
 "responseHeader": {

   "status": 0,

   "QTime": 58,

   "params": {

    "q": "*:*",

    "indent": "true",

     "wt": "json",

     "_": "1436827539345"

   }

 },

 "response": {

   "numFound": 1,

   "start": 0,

   "docs": [

     {

       "number": [

         1

       ],

       "president": [

         "George Washington"
       ],

       "birth_year": [

       1732

       ],

       "death_year": [

         1799
       ],

       "took_office": [

         "1789-04-30T00:00:00Z"
       ],
      
 "left_office": [

         "1797-03-04T00:00:00Z"
       ],
       "party": [

         "No Party"
       ],
       "id": "1ce12ed2-add9-4c65-aeb4-a3c6efb1c5d1",

       "_version_": 1506622425947701200
     }
   ]
 }

}

Αυτά είναι τα βασικά όσον αφορά την Solr . 

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ