solr 5.3.1 使用java_Solr-5.3.0学习笔记(一)基础入门

鲁春利的工作笔记,好记性不如烂笔头

Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene.

Lucene与Solr的最新版本都为5.4.0,这里学习时采用的是5.3.0版本。

说明:Solr解压后docs目录为其帮助信息,也可以通过http://wiki.apache.org/solr/查看帮助。

1、解压tar -xzv -f solr-5.3.0.tgz

# 解压后目录结构:

[hadoop@nnode solr-5.3.0]$ ll

总用量 1160

drwxr-xr-x  3 hadoop hadoop   4096 8月  12 17:16 bin

-rw-r--r--  1 hadoop hadoop 502443 8月  17 18:23 CHANGES.txt

drwxr-xr-x 13 hadoop hadoop   4096 8月  17 19:42 contrib

drwxrwxr-x  4 hadoop hadoop   4096 1月  21 12:28 dist

drwxrwxr-x 19 hadoop hadoop   4096 1月  21 12:28 docs

drwxr-xr-x  7 hadoop hadoop   4096 1月  21 12:28 example

drwxr-xr-x  2 hadoop hadoop  36864 1月  21 12:28 licenses

-rw-r--r--  1 hadoop hadoop  12646 8月  12 17:16 LICENSE.txt

-rw-r--r--  1 hadoop hadoop 565851 8月  17 18:23 LUCENE_CHANGES.txt

-rw-r--r--  1 hadoop hadoop  26529 8月  12 17:16 NOTICE.txt

-rw-r--r--  1 hadoop hadoop   7167 8月  12 17:16 README.txt

drwxr-xr-x 11 hadoop hadoop   4096 1月  21 12:28 server   #Solr5开始使用的服务端程序目录

[hadoop@nnode solr-5.3.0]$

说明:Solr需要依赖于Jvava,这里使用的jdk版本为1.7。java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

2、启动Solr[hadoop@nnode solr-5.3.0]$ bin/solr -V

Using Solr root directory: /lucl/solr-5.3.0

Using Java: /lucl/jdk1.7.0_80/bin/java

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

Solr home directory /lucl/solr-5.3.0 must contain a solr.xml file!

[hadoop@nnode solr-5.3.0]$

说明:SOLR_HOME变量暂时无需配置,否则在通过bin/solr start启动的时候会在SOLR_HOME目录下查找solr.xml文件,而该目录下是没有solr.xml文件的。# 通过如下命令启动solr

[hadoop@nnode solr-5.3.0]$ bin/solr start

Waiting up to 30 seconds to see Solr running on port 8983 [/]

Started Solr server on port 8983 (pid=3608). Happy searching!

[hadoop@nnode solr-5.3.0]$

查看Web UI

887f61abe7cff03469d6b6a91eeb5344.png

3、脚本介绍[hadoop@nnode solr-5.3.0]$ bin/solr -help

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

[hadoop@nnode solr-5.3.0]$

说明:Solr有两种运行模式,一个是单机模式,一个是集群模式(即SolrCloud)。[hadoop@nnode solr-5.3.0]$ bin/solr start -help

Usage: solr start [-f] [-c] [-h hostname] [-p port] [-d directory]

[-z zkHost] [-m memory] [-e example] [-s solr.solr.home]

[-a "additional-options"] [-V]

-f            Start Solr in foreground; default starts Solr in the background

and sends stdout / stderr to solr-PORT-console.log

-c or -cloud  Start Solr in SolrCloud mode; if -z not supplied, an embedded ZooKeeper

instance is started on Solr port+1000, such as 9983 if Solr is bound to 8983

-h      Specify the hostname for this Solr instance

-p      Specify the port to start the Solr HTTP listener on; default is 8983

The specified port (SOLR_PORT) will also be used to determine the stop port

STOP_PORT=($SOLR_PORT-1000) and JMX RMI listen port RMI_PORT=(1$SOLR_PORT).

For instance, if you set -p 8985, then the STOP_PORT=7985 and RMI_PORT=18985

-d 

-z    ZooKeeper connection string; only used when running in SolrCloud mode using -c

To launch an embedded ZooKeeper instance, don't pass this parameter.

-m    Sets the min (-Xms) and max (-Xmx) heap size for the JVM, such as: -m 4g

results in: -Xms4g -Xmx4g; by default, this script sets the heap size to 512m

-s 

Solr will create core directories under this directory. This allows you to

run multiple Solr instances on the same host while reusing the same server

directory set using the -d parameter.

If set, the specified directory should contain a solr.xml file, unless solr.xml

exists in ZooKeeper.This parameter is ignored when running examples (-e), as the

solr.solr.home depends on which example is run.

-e   Name of the example to run; available examples:

cloud:         SolrCloud example

techproducts:  Comprehensive example illustrating many of Solr's core capabilities

dih:           Data Import Handler

schemaless:    Schema-less example

-a            Additional parameters to pass to the JVM when starting Solr, such as to setup

Java debug options. For example, to enable a Java debugger to attach to the Solr JVM

you could pass: -a "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=18983"

In most cases, you should wrap the additional parameters in double quotes.

-noprompt     Don't prompt for input; accept all defaults when running examples that accept user input

-V            Verbose messages from this script

[hadoop@nnode solr-5.3.0]$

4、Start Solr with a Specific Example Configuration

2babca24215a20ac0aff9a66ba876b90.png[hadoop@nnode solr-5.3.0]$ bin/solr -f -e techproducts

WARNING: Foreground mode (-f) not supported when running examples.

Creating Solr home directory /lucl/solr-5.3.0/example/techproducts/solr

Starting up Solr on port 8983 using command:

bin/solr start -p 8983 -s "example/techproducts/solr"

Waiting up to 30 seconds to see Solr running on port 8983 [/]

Started Solr server on port 8983 (pid=4436). Happy searching!

Setup new core instance directory:

/lucl/solr-5.3.0/example/techproducts/solr/techproducts

// 略

查看状态[hadoop@nnode solr-5.3.0]$ bin/solr status

Found 1 Solr nodes:

Solr process 4436 running on port 8983

{

"solr_home":"/lucl/solr-5.3.0/example/techproducts/solr/",

"version":"5.3.0 1696229 - noble - 2015-08-17 17:10:43",

"startTime":"2016-01-24T13:44:41.338Z",

"uptime":"0 days, 0 hours, 3 minutes, 3 seconds",

"memory":"34.6 MB (%7) of 490.7 MB"}

[hadoop@nnode solr-5.3.0]$

5、Web访问

http://nnode:8983/solr

7d4b736ca08a513b09d4db4347b42e45.png

6、Create a Core[hadoop@nnode solr-5.3.0]$ bin/solr create -help

Usage: solr create [-c name] [-d confdir] [-n configName]

[-shards #] [-replicationFactor #] [-p port]

Create a core or collection depending on whether Solr is running in standalone (core)

or SolrCloud mode (collection).

In other words, this action detects which mode Solr is running in, and then takes

the appropriate action (either create_core or create_collection).

For detailed usage instructions, do:

bin/solr create_core -help

or

bin/solr create_collection -help

[hadoop@nnode solr-5.3.0]$

说明:

Core: 也就是Solr

Core,一个Solr中包含一个或者多个Solr Core,每个Solr Core可以独立提供索引和查询功能,每个Solr

Core对应一个索引或者Collection的Shard,Solr

Core的提出是为了增加管理灵活性和共用资源。在SolrCloud中有个不同点是它使用的配置是在Zookeeper中的,传统的Solr

core的配置文件是在磁盘上的配置目录中。

Collection:在SolrCloud集群中逻辑

意义上的完整的索引。它常常被划分为一个或多个Shard,它们使用相同的Config

Set。如果Shard数超过一个,它就是分布式索引,SolrCloud让你通过Collection名称引用它,而不需要关心分布式检索时需要使用的

和Shard相关参数。

Shard: Collection的逻辑分片。每个Shard被化成一个或者多个replicas,通过选举确定哪个是Leader。

Replica: Shard的一个拷贝。每个Replica存在于Solr的一个Core中。[hadoop@nnode solr-5.3.0]$ bin/solr create -c testcore

692c1d9788e73d66a0ad506f2028188f.png

7、添加数据

Solr支持上传很多种数据格式,如CSV、JSON、XML等,选中testcore下面的Documents。

c5adc8fe87d3cf60464d55c3be92b1e2.png

8、数据查询

通过Solr的Web页面可以执行多种条件的数据查询,选中testcore下面的Query。

0011ce62e998c66a306d3adfbc0e6fc0.png

9、停止服务[hadoop@nnode solr-5.3.0]$ bin/solr stop -help

Usage: solr stop [-k key] [-p port] [-V]

-k       Stop key; default is solrrocks

-p      Specify the port the Solr HTTP listener is bound to

-all          Find and stop all running Solr servers on this host

NOTE: To see if any Solr servers are running, do: solr status

[hadoop@nnode solr-5.3.0]$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值