solr服务器搭建(Linux+tomact版)

从这篇文章可以学习哪些东西?

1.linux上solr的安装部署。a:官方给出的运行方式   b:部署到自己的tomcat

2.添加core。添加core遇到的问题及解决方案

3.添加字段。a:在UI界面添加  b:修改配置文件添加

4.添加数据、更新数据    

下载solr

solr服务器搭建(Linux+tomact版)
从官网下载最新solr

wget http://mirrors.shuosc.org/apache/lucene/solr/7.2.0/solr-7.2.0.tgz

解压

tar -zxvf solr-7.2.0.tgz
cd solr-7.2.0

解压之后的目录

solr服务器搭建(Linux+tomact版)

启动
执行bin/solr start可以直接启动solr

有可能会启动失败:给出如下警告,告诉我们加-force 启动

solr服务器搭建(Linux+tomact版)

再次执行bin/solr start -force

solr服务器搭建(Linux+tomact版)

恭喜你:启动成功,

从启动信息中我们可以看到solr默认的端口是8983  

此时输入机器ip:8983/solr就可以访问了

solr服务器搭建(Linux+tomact版)

这种方式虽然简单,但是solr为我们做的太多,目录过于臃肿,也不便于我们移植扩展,尤其是当我们需要多个solr实例的时候

将solr部署到tomcat
接下来我们使用自己的tomcat,自己手动部署solr

准备tomcat8

一、拷贝solr-7.2.0/server/solr-webapp/webapp下的
webapp文件拷贝到tomcat/webapp/下并将拷贝完的webapp
改名为solr,同时在solr7.2.0目录下新建一个solr-home文件夹

solr服务器搭建(Linux+tomact版)
二、solr数据目录
目录结构展示:solr服务器搭建(Linux+tomact版)

tomcat-solr是tomcat的解压文件重命名

拷贝solr-7.2.0/server/solr下的所有文件到solr-7.2.0/ solr-home下

三、修改web.xml 指定solr主目录
找到solr/home所在位置(/usr/local/solr-7.2.0/tomcat-solr/webapps/solr/WEB-INF/web.xml)

solr服务器搭建(Linux+tomact版)

去除注释,将value修改为自己的目录(如果没有这段代码自行添加)

solr服务器搭建(Linux+tomact版)

四、复制jar包
复制solr-7.2.0/server/lib/ext/下所有jar到tomcat/webapp/solr/WEB-INF/lib/下

solr服务器搭建(Linux+tomact版)

复制solr-7.2.0/server/lib下所有matrics开头的jar到tomcat/webapp/solr/WEB-INF/lib/下

solr服务器搭建(Linux+tomact版)

复制solr/solr-7.2.0/dist/下的solr-clustering-7.2.0.jar solr-dataimporthandler-extras-7.2.0.jar和solr-dataimporthandler-7.2.0.jar三个jar包复制到tomcat/webapp/solr/WEB-INF/lib/下

solr服务器搭建(Linux+tomact版)

五、复制log4j.properties配置文件
server/resources/log4j.properties  复制到tomcat/webapp/solr/WEB-INF/lib/下或者tomcat/webapp/solr/WEB-INF/classes目录下

lib目录

solr服务器搭建(Linux+tomact版)

现在启动tomcat

访问ip:端口/solr/index.html

solr服务器搭建(Linux+tomact版)

有可能会出现访问被拒绝

解决方法:编辑web.xml照片截图中位置,将其注释

solr服务器搭建(Linux+tomact版)

保存并退出,稍等一会就可以访问了

solr服务器搭建(Linux+tomact版)

ok 部署成功

--------------------开始使用solr--------------------

使用solr
下面开始使用solr

solr服务器搭建(Linux+tomact版)

点击Core Admin add Core

solr服务器搭建(Linux+tomact版)

 

添加一个订单

点击 Add Core 

出错了 提示缺少配置文件 

官方给出的文件目录中有默认配置文件

server/solr/configsets/_default/下的conf文件夹

将conf复制到新建的core目录下,刚刚新建的Order目录在solr-home/Ordersolr服务器搭建(Linux+tomact版)

复制server/solr/configsets/_default/conf/ 到 solr-home/Order/下

conf目录结构solr服务器搭建(Linux+tomact版)

然后我们再点击 Add Core 

solr服务器搭建(Linux+tomact版)

添加成功

solr服务器搭建(Linux+tomact版)

在Core Selector中已经有了Ordersolr服务器搭建(Linux+tomact版)

现在Order的目录结构solr服务器搭建(Linux+tomact版)

conf:配置目录

data:数据目录

core.properties:Order的基本配置信息

--------------------添加字段--------------------

添加字段
有两种方式可以添加字段。1.在浏览器添加  2.修改配置文件添加

1.在浏览器添加

solr服务器搭建(Linux+tomact版)

solr服务器搭建(Linux+tomact版)

solr服务器搭建(Linux+tomact版)

在Core Selector选择Order

orderName已经添加成功

2.修改配置文件添加字段

solr服务器搭建(Linux+tomact版)

字段相关配置信息在conf/managed-schema文件中

 vi managed-schema

显示行号

:set nu 

    420   <field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
    421   <field name="orderName" type="string" indexed="true" stored="true"/>

可以看到我们刚才添加的orderName信息

复制421行

<field name="remark" type="string" indexed="true" stored="true"/>

solr服务器搭建(Linux+tomact版)

修改name="remark" 

:qw 退出保存 重启solr tomcat

solr服务器搭建(Linux+tomact版)

添加成功

--------------------添加数据--------------------

添加数据
选择Order

点击Documents

在右侧Document(s)文本域输入要添加对应格式的数据

我在这里添加了一段json数据

{"id":12345, "remark":"这是备注"}

点击 Submit Document  右侧信息显示成功Status:success

solr服务器搭建(Linux+tomact版)

点击左侧的Query查询一下我们刚刚添加的数据,已经插入成功

solr服务器搭建(Linux+tomact版)

关于id字段,solr默认添加id字段作为主键,solr会判断提交数据中的id值是否存在,不存在保存数据;存在则更新数据

我们来测试一下,修改json数据,id不变,修改remark值

{"id":12345, "remark":"我是被修改的备注"}

solr服务器搭建(Linux+tomact版)

再次查询一下,数据已经被修改

solr服务器搭建(Linux+tomact版)

ok,solr安装部署、添加core、添加字段、添加数据、更新数据等操作已经介绍完毕