Rabu, 14 Mei 2014

Apa Itu Solr dan Bagaimana Cara Instalasinya ?




                                                    Sumber Gambar : lucene.apache.org

SOLR, adalah sebuah mesin pencari berskala enterprise yang dikembangkan dari Apache.Fitur SOLR, digunakan untuk mencari dan melakukan indexing text yang terdapat pada dokumen-dokumen, serta mebuat cluster dari dokumen-dokumen tersebut. Selain itu, SOLRdapat berintregasi dengan berbagai database, SOLRbekerja diatasJAVA, dan memiliki fitur replikasi.

SOLRdapat digunakan secara Open Source, yaitu dapat digunakan dan dikembangkan untuk kepentingan bersama. Untuk dapat menggunakan SOLR, aplikasi  dapat diunduh langsung dari situs resminya di :
http://lucene.apache.org/solr/downloads.html
SOLR dapat menggunakan fitur replikasi untuk melakukan backup secara realtime,
Sebelum menjalankan SOLR pastikan anda telah menginstall Java Jdk lalu Kemudian  tempatkan berkas solr pada /opt/solr.

Menjalankan SOLR dengan cara otomatis

Buatlah berkas dengan nama solr dan di simpan pada folder /etc/init.d/ dengan nama solrd. Kemudian isi berkas tersebut dengan text dibawah ini, untuk SOLR master node

#!/bin/sh -e
# chkconfig: 2345 95 20
# description: Solr Server
# Solr Server service start, stop, restart
# @author Shay Anderson 12.11
# export JAVA_OPTS=-Xmx1500m
SOLR_DIR="/opt/solr/example"
JAVA="java -Xmn800m -Xms1024m -Xmx1024m -Xss10m -XX:MaxPermSize=512m -DSTOP.PORT=8079 -DSTOP.KEY=a09df7a0d -Dsolr.clustering.enabled=true -jar start.jar –Dmaster.enable=true"

case $1 in
start)
echo "Starting Solr..."
cd $SOLR_DIR
            # this will run server and SUPPRESS output/error messages
            # $JAVA 1>/dev/null 2>/dev/null &
            # this will run server and DISPLAY output/error messages
            $JAVA 1>$SOLR_DIR/out 2>$SOLR_DIR/err &
sleep 3
            ;;
stop)
echo "Stopping Solr..."
cd $SOLR_DIR
            $JAVA --stop 2>/dev/null
sleep 3
            ;;
restart)
            $0 stop
sleep 2
            $0 start
            ;;
*)
echo "Usage: $0 [start|stop|restart]"
exit 1
            ;;
esac


- Untuk SOLR Slave node, ganti line:

SOLR_DIR="/opt/solr/example"
JAVA="java -Xmn800m -Xms1024m -Xmx1024m -Xss10m -XX:MaxPermSize=512m -DSTOP.PORT=8079 -DSTOP.KEY=a09df7a0d -Dsolr.clustering.enabled=true -jar start.jar –Dmaster.enable=true "
Menjadi:
SOLR_DIR="/opt/solr/example"
JAVA="java -Xmn800m -Xms1024m -Xmx1024m -Xss10m -XX:MaxPermSize=512m -DSTOP.PORT=8079 -DSTOP.KEY=a09df7a0d -Dsolr.clustering.enabled=true -jar start.jar –Dslave.enable=true "

Setelah berkas selesai di buat jalankan perintah dibawah ini untuk menjalankan service SOLR secara otomatis.
       • /etc/init.d/solrd start => untuk menjalankan
       • /etc/init.d/solrd stop => untuk menghentikan service solr
       • /etc/init.d/solrd restart => untuk restart service solr

Menjalankan SOLR dengan cara manual 

Berikut adalah cara menjalankan SOLR secara manual:
       • cd /opt/solr/example
       • java -Dsolr.clustering.enabled=true -jar start.jar
Untuk melakukan tes apakah SOLRsudah berjalan, cobalah buka link berikut menggunakan browser http://localhost:8983/solr

Konfigurasi SOLR

Untuk konfigurasi SOLRyang di ubah cukup schema.xml dan solrconfig.xml.Untuk agar SOLRdapatberjalan dengan baik, yang paling penting adalah untuk mengubah schema.xml menjadi schema yang diinginkan. Schema SOLRsama seperti schema database SQL atau susunan koleksi data untuk setiap recordnya.
Untuk men-setting schema solr bukalah schema.xml pada /opt/solr/example/solr/conf/schema.xml dengan text editor. Berikut adalah contoh schema.xml SOLR yang digunakan untuk Web Aplikasi SAID:

<schema name="nutch" version="1.4">
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true"
omitNorms="true"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0"
omitNorms="true" positionIncrementGap="0"/>
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0"
omitNorms="true" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0"
omitNorms="true" positionIncrementGap="0"/>

<fieldType name="text" class="solr.TextField"
positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1"
catenateWords="1" catenateNumbers="1" catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.EnglishPorterFilterFactory"
protected="protwords.txt"/> -->
<filter class="solr.IndonesianStemFilterFactory" stemDerivational="true" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="url" class="solr.TextField"
positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1"/>
</analyzer>
</fieldType>
</types>
<fields>
<field name="id" type="string" stored="true" indexed="true"/>

<!-- core fields -->
<field name="boost" type="float" stored="true" indexed="false"/>

<!-- fields for index-basic plugin -->
<field name="host" type="string" stored="true" indexed="true" required="true"/>
<field name="title" type="text" stored="true" indexed="true" required="true"/>
<field name="url" type="url" stored="true" indexed="true" required="true"/>
<field name="tstamp" type="date" stored="true" indexed="true"/>
<field name="cstamp" type="date" stored="true" indexed="true"/>
<field name="tstamplong" type="long" stored="true" indexed="true"/>
<field name="cstamplong" type="long" stored="true" indexed="true"/>
<field name="sourcedb" type="string" stored="true" indexed="true" required="false"/>

<!-- fields for index-anchor plugin -->
<field name="features" type="text" stored="true" indexed="true"
multiValued="true"/>
<field name="cats" type="text" stored="true" indexed="true"
multiValued="true"/>
<field name="author" type="string" stored="true" indexed="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>features</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
</schema>

Tidak ada komentar:

Posting Komentar