Solr单机版安装

一、Solr单机版安装

Solr是使用Java编写,所以linux虚拟机中必须已安装JDK

1 上传并解压

此处使用Xftp6上传Solr的文件压缩包solr-8.2.0.tgz到/usr/local/tmp中。

使用Xftp6上传Solr的文件压缩包solr-8.2.0.tgz

进入/usr/local/tmp路径,解压压缩包

# cd /usr/local/tmp
# tar zxf solr-8.2.0.tgz

解压

2 复制到/usr/local中

将solr-8.2.0文件夹从/usr/local/tmp/复制到/usr/local/并更名为solr

# cp -r solr-8.2.0 ../solr

复制到/usr/local/

3 修改启动参数

修改启动参数,否则启动时报警告。设置SOLR_ULIMIT_CHECKS=false

进入solr的bin路径并编辑solr.in.sh文件

# cd /usr/local/solr/bin
# vim solr.in.sh

编辑命令

编辑solr.in.sh

4 启动Solr

Solr内嵌Jetty,直接启动即可。监听8983端口。

solr默认不推荐root账户启动,如果是root账户启动需要添加-force参数。

# ./solr start -force

启动solr

二、新建核心

在关闭防火墙的前提下,可以在windows的浏览器中访问Solr的可视化管理界面。

访问Solr的可视化管理界面

Solr安装完成后默认是没有核心的。需要手动配置。

需要在solr/server/solr下新建文件夹,并给定配置文件,否则无法建立。

1 新建目录

在/usr/local/solr/server/solr中新建自定义名称目录。此处示例名称为testcore。

# cd /usr/local/solr/server/solr
# mkdir testcore

新建目录

2 复制配置文件

在configsets里面包含了_default和sample_techproducts_configs。里面都是配置文件示例。_default属于默认配置,较纯净。sample_techproducts_configs是带有了一些配置示例。

将/usr/local/solr/server/solr/configsets/_default下的conf文件夹复制到/usr/local/solr/server/solr/testcore下

# cp -r configsets/_default/conf/  testcore/

复制配置文件

3 填写Core信息

在可视化管理界面中Core Admin中编写信息后点击Add Core后,短暂延迟后testcore就会创建成功。schema处不用更改。

新增core

4 出现testcore

在客户端管理界面中,选择新建的Core后,就可以按照自己项目的需求进行操作了。

选择core

三、分词Analysis

在Solr可视化管理界面中,Core的管理菜单项中都会有Analysis。表示根据Scheme.xml(managed-schema)中配置要求进行解析。

与解析英文不同,如果解析中文,正确的方式是把一句话按照合理的词组进行拆分。

示例:

中文解析示例

配置步骤

去https://search.maven.org/search?q=com.github.magese下载对应版本的ik-analyzer。

1.1 上传jar到指定目录

上传ik-analyzer-8.2.0.jar到/usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib目录中

上传jar包

1.2 修改配置文件

修改/usr/local/solr/server/solr/testcore/conf/managed-schema

# vim /usr/local/solr/server/solr/testcore/conf/managed-schema

添加下面内容。

 <field name="myfield" type="text_ik" indexed="true" stored="true" />


 <fieldType name="text_ik" class="solr.TextField">
            <analyzer type="index">
                    <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
                    <filter class="solr.LowerCaseFilterFactory"/>
            </analyzer>
            <analyzer type="query">
                    <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
                    <filter class="solr.LowerCaseFilterFactory"/>
            </analyzer>
 </fieldType>

进入编辑页面

编辑

1.3 重启
# cd /usr/local/solr/bin
# ./solr stop -all
# ./solr start -force

重启

1.4 验证

可以在可视化管理界面中找到myfield属性进行验证。

验证

四、Dataimport

此处以本地的mysql8数据库为例

mysql8

可以使用Solr自带的Dataimport功能把数据库中数据快速导入到solr中.

前提必须保证managed-schema和数据库中表的列对应。

编辑managed-schema文件

# vim /usr/local/solr/server/solr/testcore/conf/managed-schema

即在managed-schema中添加与数据库中表的列对应的内容

<field name="price" type="pdouble" indexed="false" stored="true" />
<field name="name" type="text_ik" indexed="true" stored="true" />
<field name="desc" type="text_ik" indexed="true" stored="true" />

添加后的文件

1 修改配置文件

编辑solrconfig.xml

# vim /usr/local/solr/server/solr/testcore/conf/solrconfig.xml

添加下面内容

 <!-- 配置数据导入的处理器 -->
  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
	  <!--  加载data-config.xml  -->
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>

进入编辑页面

编辑

2 新建data-config.xml

和solrconfig.xml同一目录下新建data-config.xml

# touch /usr/local/solr/server/solr/testcore/conf/data-config.xml

创建文件

编辑data-config.xml,添加如下内容

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
      <dataSource type="JdbcDataSource"   
                driver="com.mysql.cj.jdbc.Driver"   
                url="jdbc:mysql://192.168.0.102:3306/product?useUnicode=true&amp;characterEncoding=utf8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=true&amp;serverTimezone=GMT%2B8"   
                user="root"   
                password="root"/>
      <document>
         <entity name="product" query="SELECT pid,name,price,description from products">
                <!--实现数据库的列和索引库的字段的映射
					column 指定数据库的列表
					name  指定索引库的字段名字,必须和schema.xml中定义的一样
				-->
				<field column="pid" name="id"/>
				<field column="name" name="name"/>
				<field column="price" name="price"/>
				<field column="description" name="desc"/>
		</entity>
 	</document>
</dataConfig>

编辑后的文件

注意:

mysql5与mysql8的driver值不同

在该xml文件中,密码改为自己数据库的连接密码,url中的ip地址为自己使用的网络ip地址

url中若有&符,需将其替换为&amp;

可在cmd中查询自己使用的网络ip地址

查看ip

此时使用的无线网络,因此WLAN的地址为所需地址;应根据实际情况确定地址

查看ip地址

3 添加jar

向/usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib中添加三个jar。在dist中两个还有一个数据库驱动。

可从已有的/usr/local/solr/dist中复制,也可从本地传输

传输

在solr-8.2.0/dist中有两个所需jar包

传输jar包

还需传输数据库驱动包

传输数据库驱动包

4 操作

在mysql8环境中,需检查root用户是否具有远程访问权限

可在Navicat中测试是否具有权限

测试

远程连接测试

若连接测试失败,则需要授予远程访问权限

使用mysql8时授权的步骤:

1.使用cmd登录mysql,需以管理员身份运行

以管理员身份运行cmd

登录mysql

登录mysql

输入命令并执行

use mysql; #切至“mysql”数据库
select host, user from user;  #此条命令可不执行
update user set host='%' where user='root'; #更改权限
flush privileges;	#刷新权限

授权

重启solr

重启的命令为:

# cd /usr/local/solr/bin
# ./solr stop -all
# ./solr start -force

重启solr

重启solr后,在可视化管理页面中进行数据导入。

注意:

点击导入按钮后,要记得点击刷新按钮。

刷新
执行完成

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值