Solr5.0快速入门

一,安装环境 
硬件:虚拟机 
操作系统:Centos 6.4 64位 
IP:10.51.121.10 
主机名:datanode-4 
安装用户:root 
安装系统要求:需要先安装JDK7或者以上版本,推荐JDK7U55或者以后版本。

二,安装JDK7 
安装JDK7U55或者以上版本。这里安装JDK1.7.0_75。 
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 
1,下载jdk-7u75-linux-x64.tar.gz,执行:#tar -zxvf jdk-7u75-linux-x64.tar.gz 
到/usr/lib目录。解压之后的目录为:/usr/lib/jdk1.7.0_75

2,在/root/.bash_profile中添加如下配置:

export JAVA_HOME=/usr/lib/jdk1.7.0_75
export PATH=$JAVA_HOME/bin:$PATH

3,使环境变量生效#source ~/.bash_profile 
4,安装验证# java -version 
java version “1.7.0_75” 
Java(TM) SE Runtime Environment (build 1.7.0_75-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

三,安装Solr 
1,下载Solr5.0,下载URL:http://archive.apache.org/dist/lucene/solr/5.0.0/solr-5.0.0.tgz 
2,执行:#tar -zxvf solr-5.0.0.tgz 
到/root/nutch目录。解压之后的目录为:/root/nutch/solr-5.0.0

四,启动Solr服务 
1,进入solr的安装目录,/root/nutch/solr-5.0.0 
2,执行,#./bin/solr start -e cloud -noprompt 
Welcome to the SolrCloud example! 
Starting up 2 Solr nodes for your example SolrCloud cluster. 
… 
Started Solr server on port 8983 (pid=8404). Happy searching! 
… 
Started Solr server on port 7574 (pid=8549). Happy searching! 
… 
SolrCloud example running, please visit http://localhost:8983/solr

Solr在2个节点上运行,一个端口是8983,另一个端口是7574。并自动建立了名称为gettingstarted的collection,此collection有2个shard,每个shard有replicas。 
3,在浏览器中输入:http://10.51.121.10:8983/solr/ 
这里写图片描述

四,建立索引 
指定需要建立索引数据源,数据源可以是HTML, PDF, Microsoft Office 文件(比如 MS Word、Excel),平面文件等。 
这里为solr安装目录下的docs文件夹中的文件建立索引。 
1,执行#bin/post -c gettingstarted docs/

#bin/post -c gettingstarted docs/
java -classpath /solr-5.0.0/dist/solr-core-5.0.0.jar -Dauto=yes -Dc=gettingstarted -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool docs/
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/gettingstarted/update...
Entering auto mode. File endings considered are xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
Entering recursive mode, max depth=999, delay=0s
Indexing directory docs (3 files, depth=0)
POSTing file index.html (text/html) to [base]/extract
POSTing file quickstart.html (text/html) to [base]/extract
POSTing file SYSTEM_REQUIREMENTS.html (text/html) to [base]/extract
Indexing directory docs/changes (1 files, depth=1)
POSTing file Changes.html (text/html) to [base]/extract
...
3254 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/gettingstarted/update...
Time spent: 0:02:27.712

2,为xml文件建立索引

#bin/post -c gettingstarted example/exampledocs/*.xml

3,为JSON文件建立索引

#bin/post -c gettingstarted example/exampledocs/*.json

4,为CSV文件建立索引

#bin/post -c gettingstarted example/exampledocs/books.csv

五,搜索 
Solr可以通过REST 客户端,cURL命令,wget命令等方式来访问搜索。 
1,进入http://10.51.121.10:8983/solr,选择gettingstarted_shard1_replica2,点击Query Tab,在q输入域中输入”solr”,然后点击”Execute Query”按钮,这时可以查到内容为solr的文件。 
这里写图片描述

2,在Linux Shell中用cURL访问,比如:

# curl "http://localhost:8983/solr/gettingstarted/select?wt=json&indent=true&q=foundation"
# curl "http://localhost:8983/solr/gettingstarted/select?wt=json&indent=true&q=foundation"
{
  "responseHeader":{
    "status":0,
    "QTime":26,
    "params":{
      "indent":"true",
      "q":"foundation",
      "wt":"json"}},
  "response":{"numFound":3105,"start":0,"maxScore":0.13157843,"docs":[
      {
        "id":"UTF8TEST",
        "name":["Test with some UTF-8 encoded characters"],
        "manu":["Apache Software Foundation"],
        "cat":["software",
          "search"],
  ......

3,访问http://10.51.121.10:8983/solr/gettingstarted/browse。 
这里写图片描述

六,常用命令 
1,solr命令有start, stop, restart, status, healthcheck, create, create_core, create_collection, delete。

# ./bin/solr

Usage: solr COMMAND OPTIONS
       where COMMAND is one of: start, stop, restart, status, healthcheck, create, create_core, create_collection, delete

  Standalone server example (start Solr running in the background on port 8984):

    ./solr start -p 8984

  SolrCloud example (start Solr running in SolrCloud mode using localhost:2181 to connect to ZooKeeper, with 1g max heap size and remote Java debug options enabled):

    ./solr start -c -m 1g -z localhost:2181 -a "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044"

Pass -help after any COMMAND to see command-specific usage information,
  such as:    ./solr start -help or ./solr stop -help

2,healthcheck命令

[root@datanode-4 solr-5.0.0]# bin/solr healthcheck -c gettingstarted
{
  "collection":"gettingstarted",
  "status":"healthy",
  "numDocs":3296,
  "numShards":2,
  "shards":[
    {
      "shard":"shard1",
      "status":"healthy",
      "replicas":[
        {
          "name":"core_node2",
          "url":"http://10.51.121.10:8983/solr/gettingstarted_shard1_replica2/",
          "numDocs":1633,
          "status":"active",
          "uptime":"0 days, 0 hours, 42 minutes, 6 seconds",
          "memory":"36.9 MB (%7.5) of 490.7 MB"},
        {
          "name":"core_node4",
          "url":"http://10.51.121.10:7574/solr/gettingstarted_shard1_replica1/",
          "numDocs":1633,
          "status":"active",
          "uptime":"0 days, 0 hours, 41 minutes, 44 seconds",
          "memory":"83.2 MB (%17) of 490.7 MB",
          "leader":true}]},
    {
      "shard":"shard2",
      "status":"healthy",
      "replicas":[
        {
          "name":"core_node1",
          "url":"http://10.51.121.10:8983/solr/gettingstarted_shard2_replica2/",
          "numDocs":1663,
          "status":"active",
          "uptime":"0 days, 0 hours, 42 minutes, 6 seconds",
          "memory":"37.1 MB (%7.6) of 490.7 MB"},
        {
          "name":"core_node3",
          "url":"http://10.51.121.10:7574/solr/gettingstarted_shard2_replica1/",
          "numDocs":1663,
          "status":"active",
          "uptime":"0 days, 0 hours, 41 minutes, 44 seconds",
          "memory":"83.3 MB (%17) of 490.7 MB",
          "leader":true}]}]}

posted on 2015-03-05 16:50 邹中凡 阅读(...) 评论(...) 编辑 收藏

导航