一、单机版的solr部署

我的是在windows下安装的,linux同理

1. 安装JDK8,并配置好环境变量,一般我们经常开发的电脑上应该都有JDk了,所以这一步可以忽略。

2. 解压solr6.3

3. 拷贝分词相关JAR包到你solr目录下的server\solr-webapp\webapp\WEB-INF\lib中,如:ansj-seg.jar  nlp-lang.jar等

4.在文件夹中创建solr core:

在solr目录下的server/solr下创建一个文件夹collection,一般是复制已有的collection,然后编辑collection文件夹下conf配置文件中的schema.xml,里面就是你的表结构(包括:字段,分词包引入,字段类型,拷贝字段,动态字段等)

因为solr版本是6.3,因此不需要用tomcat建立服务器。

5.开启solr:

在cmd命令下输入

cd sorl/solr-6.3.0/bin/solr start -f

6.在浏览器中输入solr地址,在界面上创建core:

如:192.168.1.100:8983/solr/admin

打开后显示solr 界面:

单机版solr6.3和分布式solr6.3的安装部署-LMLPHP

在solr界面中选中Core Admin 然后点击Add Core

输入:

core的名字 (collection)

data的路径(默认在server/solr/collection/)

配置文件schema的名字(默认为schema.xml 或者schema)

注意:如果有managed-schema文件,应该将他重命名为schema.xml,当创建好core后系统会生成一个managed-schema和schema.xml.bak文件

solr配置文件的名字solrConfig.xml

单机版solr6.3和分布式solr6.3的安装部署-LMLPHP

填写完毕重启solr即可

其它命令:
$ bin/solr start -f 前台运行
$ bin/solr start -p 8984 指定端口 默认8983
$ bin/solr stop -p 8983 关闭solr,如果不指定端口,可用-all关闭单机上所有实例
$ bin/solr status 当前服务器上solr运行状态

一、 单机版tomcat下安装solr

一、 环境

solr 6.3.0  下载地址 http://archive.apache.org/dist/lucene/solr/6.3.0/

jdk 1.7,1.8

tomca,7,8

二、 安装solr到tomcat

1.  解压solr ,把 solr\solr-6.3.0\server\solr-webapp下的 webapp 文件夹拷贝到tomcat 的webapps下,重命名为solr,也可以是其他名字;

( 注意,此处有的教程错误的将solr-webapp文件夹进行拷贝,这会导致solr启动不了)

2. 拷贝solr-6.3.0\server\lib\ext 下的jar包到 tomcat\webapps\ 下solr 项目的WEB-INF\lib下;拷贝solr-6.3.0\dist 下solr-dataimporthandler jar 包,solr-dataimporthandler-extras-6.3.0.jar 包 到 tomcat\webapps\ 下solr 项目的WEB-INF\lib下

3. 拷贝solr-6.3.0\server 下的solr文件夹到E盘或其它非中文目录下,重命名为solrhome;

4. 修改tomcat\webapps\ solr(solr的项目名)\WEB-INF\web.xml, 找到如下代码,去掉注释,/put/your/solr/home/here 改为你自己的solrhome的路径,         如:E:/solr-home

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>E:/solr-home</env-entry-value>
       <env-entry-type>Java.lang.String</env-entry-type>
    </env-entry>

5. 拷贝solr-6.3.0\server\resources下的log4j.properties到tomcat\webapps\solr\WEB-INF\classes,如果WEB-INF下没有classes文件那么就创建一个classes文件夹。

6. 启动tomcat, 输入http://localhost:8983/solr/index.html (solr默认端口为8983)

启动solr用cmd指令:

单机版solr6.3和分布式solr6.3的安装部署-LMLPHP

看到如下界面:

单机版solr6.3和分布式solr6.3的安装部署-LMLPHP

三、添加第一个core

  • 进入到D:\solr\solr-6.3.0\server\solr下,新建一个文件夹:cores  
    单机版solr6.3和分布式solr6.3的安装部署-LMLPHP
    1 进入到server\solr\configsets\sample_techproducts_configs 文件夹,将此文件夹下的conf 目录拷贝到刚刚建立的core的文件夹下,即我的cores文件夹下

  • 2  在浏览器中输入http://localhost:8983/solr/index.html,进入solr管理页面,点击左侧的add core,在name 和instanceDir下都输入cores(在步骤1中取得名称) ,点击add core即可 
    单机版solr6.3和分布式solr6.3的安装部署-LMLPHP

-此时再输入http://localhost:8983/solr/index.html, 在左侧即可看见刚刚建立的core

  • 然后在进入到\cores目录,此时会发现多了一个data文件夹和一个properties文件,如图:
  • 单机版solr6.3和分布式solr6.3的安装部署-LMLPHP

data目录,用于存储索引文件,core.properties文件用于存放core的配置信息

到此solr的搭建,以及第一个core的就到此结束了

二、分布式solr部署

1.部署 zookeeper

1)下载zookeeper3.4.6,分别在三台机器上(192.168.2.124,192.168.2.125,192.168.2.126)解压,路径为: /home/zookeeper-3.4.6
2)配置 zookeeper/conf/zoo.cfg,如:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zooData
#log目录,建议和data目录分开存储
dataLogDir=/home/zooData

#注:这里的home一般是linux下的home,我们也可以选其他文件路径如:/data
# the port at which the clients will connect
clientPort=2181
server.1=192.168.2.124:2888:3888
server.2=192.168.2.125:2888:3888
server.3=192.168.2.126:2888:3888
注:上面三个是集群服务器的地址
3)在所有zookeepr服务器dataDir目录增加myid文件,写对应服务器编号1、2...

2 部署solrCloud

分别在三台机器上(192.168.2.124,192.168.2.125,192.168.2.126)解压,路径为: /home/solr/solr-6.3.0
1)修改 bin/solr.in.sh ,主要修改以下配置:
ZK_HOST="192.168.2.124:2181,192.168.2.125:2181,192.168.2.126:2181"
SOLR_HOST="192.168.2.126" #不修改默认为localhost,会导致其它节点无法启动
SOLR_TIMEZONE="Asia/Shanghai"
SOLR_HOME=/home/solr/solrData

2)上传solr.xml到zookeeper
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd putfile /solr.xml /home/solr/solrData/solr.xml

3) bootstrap solrCloud
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd bootstrap -solrhome /home/solr/solrData

3.集群启动,创建collection,修改配置,
1)、ZooKeeper的集群启动(124,125,126,同时启动)
/home/zookeeper-3.4.6/bin/zkServer.sh start

2)、solr启动
/home/solr/solr-6.3.0/bin/solr start -force
/home/solr/solr-6.3.0/bin/solr start status(查看启动状态)
4、修改schema文件
1).添加字段,修改managed-schema文件(两种方式:1.直接在linux vim下编辑;2.在本机编辑好后传输到对应位置如:/home/collections/collection1/conf/managed-schema)

注:如果需要新的解析包不仅需要改字段,同时要引入solrConfig.xml中的lib
solrConfig.xml中
<!-- 启用icu分析包
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib/" regex=".*\.jar" />
-->
2).上传config,linux下执行如下命令:
/home/solr/solr-6.3.0/server/scripts/cloud-scripts/zkcli.sh --zkhost 127.0.0.1:2181 -cmd upconfig -confname collectionY -confdir /home/collections/collectionY_configs/conf
注:collectionY指的是solr中collection的configName;
collectionY_configs指得是指定的配置文件所在文件夹,里面的schema.xml是字段和类型配置文件

5.collection的创建,在浏览器中执行
http://192.168.2.124:8983/solr/admin/collections?action=CREATE&name=&replicationFactor=&createNodeSet=
注:collection1指的是solr中创建的collection名称;collectionY指的是solr中collection1的configName;

6.更新collection
http://192.168.2.124:8983/solr/admin/collections?action=RELOAD&name=collection1

7.删除collection
http://192.168.2.124:8983/solr/admin/collections?action=DELETE&name=collection1

8 配置中文分词插件(优先选用ansj)
1 ansj插件
1)安装插件
在每台solr服务器上,将ansj_seg-5.1.0.jar nlp-lang-1.7.2.jar nutz-1.r.58.jar ansj-seg-solr6.jar拷贝到server/solrwebapp/webapp/WEB-INF/lib
2)schema配置
<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="*.*.*.solr.AnsjTokenizerFactory" isQuery="false" />
  </analyzer>
  <analyzer type="query">
    <tokenizer class="*.*.*..solr.AnsjTokenizerFactory" />
  </analyzer>
</fieldType>

该文章是原创,转载请注明来源:http://www.cnblogs.com/Lxiaojiang/p/6737323.html

05-23 00:01