搭建 Solr

安装 Solr(Solr 是依赖 jdk 的,所以先安装 jdk)

配置 jdk 环境变量

使用编辑命令:vim /etc/profile 进行编辑

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

然后重新加载配置文件: . /etc/profile

上传 solr,把 solr 等文件上传到提前创建好的 upload 目录,然后使用 tar -zxvf 进行解压

通过命令进行复制:cp solr-8.2.0 -R /usr/local/solr

修改启动参数

进入到 bin 目录: cd /usr/local/solr/bin

image-20220407181307627

比较重要的 solr.in.sh,这个 linux 启动命令的脚本文件

solr.in.cmd 和 solr.com 是 windows 启动命令脚本文件

对 solr.in.sh 进行编辑,设置 SOLR_ULIMIT_CHECKS=false

这是 linux 的安全检查,这是成 false 表示禁用就可以了

编辑命令:vim solr.in.sh

image-20220407181637841

启动 Solr

Solr 内嵌 Jetty,直接启动就可以,默认监听端口 8983

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

启动命令: ./solr start –force

停止命令:./solr stop

查看状态:./solr status

可视化管理界面

在 windows 的浏览器中访问 Solr(如果访问不了,检查是否关闭了防火墙)

输入 http://192.168.227.133:8983/solr

image-20220407182134787

左侧 5 个菜单分别是:

  • Dashboard:面板显示 Solr 的总体信息
  • Logging:日志
  • Core Admin:Solr 的核心,类似数据库的 Database
  • Java Perperties:所有 Java 相关属性
  • Thread Dump:线程相关信息

新建核心

Solr 安装完默认没有核心,需要手动配置

首先我们进入 linux 系统的 Solr 的配置模板目录,需要在 /usr/local/solr/server/solr 下新建文件夹,并给定配置文件,否则无法建立

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

cd /usr/local/solr/server/solr

mkdir testcore

image-20220407182734149

复制配置文件

在 /usr/local/solr/server/solr 目录中有个目录 configsets 里面包含了 _default 和 sample_techproducts_configs,里面都是配置文件示例

image-20220407183007653

_default:属于默认配置,较纯净

sample_techproducts_configs:带有了一些配置示例

进入到_default进行查看:

image-20220407183115982

Managed-schema:核心配置文件

Params.json: 参数 json

Protwords.txt: 报告文档描述文件: 扩展词, 苹果【肾8】

Solrconfig.xml:solr 的服务的配置信息

Stopwords.txt: 停用词的描述文件

Synonyms.txt: 介词的描述文件 “的地得了”,等这些借此描述的操作

那么我们要把 _defaul t目录下 conf 的这个目录复制出来进行操作

cp -r configsets/_default/conf/ testcore/

填写 Core 信息

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

image-20220407183340665

开始新建 testcore 实例

单击 add Core 后我们一会就回看到我们的新建的一个 solr 的实例

image-20220407183456396

image-20220407183534604

创建完成我们的实例后回到 linux 中 我们再次查看下在 testcore 目录下有什么东西:

image-20220407183640889

多了两个东西 core.properties 文件和 data 目录

进入 data 目录进行查看:

image-20220407183739876

tlog:日志信息

index:存放索引的地方

分词 Analysis

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

对英文解析就比较简单了,只要按照空格把英文语句拆分成英文单词即可。

image-20220407184142574

但是如果条件是中文时,把一句话按照字进行拆分就不是很合理了。正确的方式是按照合理的词组进行拆分。

image-20220407184225493

中文分词器安装及配置步骤

上传 ik-analyzer.jar 到 webapps 中

去 https://search.maven.org/search?q=com.github.magese 下载对应版本的ik-analyzer。可以在"软件/Analyzer"中直接获取。

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

image-20220407184419689

修改配置文件

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

image-20220407184519526

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>

image-20220407184732089

重启 Solr

cd /usr/local/solr/bin

./solr stop

./solr start –force

数据初始化

修改 managed-schemal 文件

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

注意: 
    1. 下面内容放入到根节点里。 
    2. 别放到注释里。 
    3. 所有作为搜索条件的列都是 text_ik 类型。其中分类名称不是,因为不希望对分类名称进行分词。
    4. 所有作为搜索条件的属性 index 都设置为 true
    5. 所有页面需要的属性 stored 都设置为 true
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="plong" indexed="false" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="false" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

重启 solr 服务,上面的这些字段就可以作为我们搜索的条件,并查询出对应的结果

修改 solr 配置文件【导入数据库的数据】

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>

新建 data-config.xml

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

注意:
ip 为 windows 的 ip
密码修改成自己的密码。
粘贴时,一定先启动编辑状态(点击 i 键)在粘贴
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" 
                url="jdbc:mysql://xxxxxxxxxx:3306/db"
                 user="root" 
                password="123456"/>
	<document>
	<entity name="item" query="SELECT i.id,i.title,i.sell_point,i.price,i.image,c.`name`,d.item_desc FROM tb_item i,tb_item_cat c,tb_item_desc d WHERE i.cid = c.id AND i.id= d.item_id">
		<field column="id" name="id"/>
		<field column="name" name="item_category_name"/>
		<field column="price" name="item_price"/>
		<field column="title" name="item_title"/>
		<field column="sell_point" name="item_sell_point"/>
		<field column="image" name="item_image"/>
		<field column="item_desc" name="item_desc"/>
	</entity>
	</document>
</dataConfig>

添加jar包

我们要把jar包拷贝到这个地方:cd /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib

首先在dist目录下有以下两个jar包

image-20220407185818858

向 solr-webapp 中添加三个 jar。在 dist 中两个还有一个数据库驱动。以下为传递过来的jar包

image-20220407190021422

然后重启 solr 服务器

通过浏览器进行查看

image-20220407190133675

image-20220407190208470

rver/solr-webapp/webapp/WEB-INF/lib**

首先在dist目录下有以下两个jar包

image-20220407185818858

向 solr-webapp 中添加三个 jar。在 dist 中两个还有一个数据库驱动。以下为传递过来的jar包

image-20220407190021422

然后重启 solr 服务器

通过浏览器进行查看

image-20220407190133675

image-20220407190208470

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值