Πώς να εγκαταστήσετε την 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. 

 

 

Μάθετε περισσότερα για τις υπηρεσίες μας εδώ.

Ακολουθήστε μας σε LinkedIn, Facebook & Instagram για να μένετε ενημερωμένοι!

ΣΥΝΔΕΣΗ

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

ΠΑΝΩ