Apache Solr 9.1-(一)初体验单机模式运行

3 篇文章 0 订阅
文章详细介绍了如何在单机模式下安装和运行ApacheSolr9.1,包括配置JDK11,创建Core,安装IKAnalyzer和Solr自带的smartcn中文分词器,以及解决远程访问问题和核心字段配置。
摘要由CSDN通过智能技术生成

Apache Solr 9.1-(一)初体验单机模式运行

Solr是一个基于Apache Lucene的搜索服务器,Apache Lucene是开源的、基于Java的信息检索库,Solr能为用户提供无论在任何时候都可以根据用户的查询请求返回结果,它被设计为一个强大的文档检索引擎。

Apache Solr系列文章:
1、Apache Solr 9.1-(一)初体验单机模式运行
2、Apache Solr 9.1-(二)集群模式运行
3、Apache Solr 9.1-(三)集群模式下通过Http API操作Apache Solr

一、安装Apache Solr 9.1

1、各组件版本说明

序号软件名称版本说明
1JDK11Apache Solr9.1要求JDK的版本最低为11,可以是openjdk
2Apache Solr9.1基于Apache Lucene搜索服务器
3IK-Analyzer8.5.0中文分词器
4Zookeeper2.4.15本文中暂时用不到,在后序关与Apache Solr9.1集群部署的文章中会用到

2、下载Apache Solr 9.1

JDK11也需要提前下载好,在本文中就不再详述JDK11的下载和安装了,可以选择Oracle JDK11,也可以是OPEN JDK11,无论是哪个JDK,版本最低是11

Apache Solr官方下载地址
在这里插入图片描述

3、解压和配置JDK

1). 解压到目标目录下
在这里插入图片描述
2).配置JDK11的环境变量

如果大家已经将JDK11做为默认的JDK版本(JAVA_HOME环境变量指向JDK11的安装目录)了,就可以跳过此步了,该步骤是针对当前系统环境中默认是JDK版本不是JDK11(我的环境目前仍是JDK8),但是solr9.1还需要用于JDK11的场景。

通过编辑solr9.1\bin\solr.cmd脚本,在此脚本中设置JDK11的安装路径。
JDK11所在的路径
在solr.cmd脚本增加下面的代码,来设置SOLR_JAVA_HOME环境变量,用于指定solr用到的JDK11的安装目录。

set SOLR_JAVA_HOME = "E:\JavaTeam\Java\jdk-11.0.16.1"

在这里插入图片描述
3).启动

solr.cmd start

在这里插入图片描述
在这里插入图片描述

二、创建Core

通过管理画面http://ip:8983/solr的core Admin模块进行创建会失败,提示在新创建的core目录\conf\下找不到solrconfig.xml和managed-schema.xml,所以我们采用命令行的方式来创建Core。

1、使用solr create命令创建core

 solr9.1安装目录\bin>solr create -c core名称

在这里插入图片描述

三、安装中文分词器

  • Apache Solr中默认没有中文分词器,导致对中文数据做查询时,无法对中文词组做识别和模糊查询,只能将中文每个字做为独立的词组做查询,所以需要为Apache Solr安装中文分词器。
  • solr中可用的中文分词器有很多,有IK-Analyzer、Smartcn、Jeasy,庖丁,由于我在Apache Solr4.10版本中使用的就是IK-Analyzer中文分词器(注意与Apache Solr的版本要匹配),所以在Apache Solr9.1还是安装IK-Analyzer中文分词器,大家可以根据自己需要安装需要的中文分词器。

1、下载IK-Analyzer

点击此处【下载地址】下载
在这里插入图片描述

2、将ik-analyzer-8.5.0.jar放入solr目录下

存放于 solr-9.1.0\server\solr-webapp\webapp\WEB-INF\lib\ 目录下

3、将ik-analyzer中文分词类型加入上步新创建的core_test1中

编辑solr-9.1.0\server\solr\core_test1\conf\managed-schema.xml

<!-- ik分词器 -->
    <fieldType name="text_ik" class="solr.TextField">
      <analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
      <analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

在这里插入图片描述

4、重启solr服务

1). 通过netstat命令查询占用8983的进程号

netstat -ano | find "8983"

在这里插入图片描述
2).结束进程号为14168的进程
在这里插入图片描述
3).启动solr服务

solr.cmd start

4).验证ik-analyzer分词
在这里插入图片描述

四、安装solr自带的smartcn中文分词器

1、将lucene-analysis-smartcn-9.3.0.jar也要放入solr目录下

从solr-9.1.0\modules\analysis-extras\lib\目录下复制lucene-analysis-smartcn-9.3.0.jar到solr-9.1.0\server\solr-webapp\webapp\WEB-INF\lib\目录下

2、将smartcn中文分词类型加入上步新创建的core_test1中

编辑solr-9.1.0\server\solr\core_test1\conf\managed-schema.xml

<!-- smartcn分词器 -->
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100">
	<analyzer type="index">
		<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
	</analyzer>
	<analyzer type="query">
		 <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
	</analyzer>
</fieldType>

在这里插入图片描述

3、重启solr服务

4、验证smartcn中文分词器

在这里插入图片描述

五、解决不能通过其它机器通过http://ip:8983/solr/访问的问题

solr默认只能通过http://127.0.0.1:8983/solr来访问,如果要允许其它机器通过网络ip来访问,需要修改设置

1、编辑solr-9.1.0\bin\solr.cmd

set "SOLR_JETTY_HOST=192.168.2.51"

在这里插入图片描述

2、重启solr服务

在这里插入图片描述

3、验证

然后就可以通过http://ip:8983/solr来访问solr服务了
在这里插入图片描述

六、配置Core中字段

1、各数据类型与solr中类型的对应关系

序号基本数据类型Solr中数据类型说明
1intpint
2floadpfloat
3longplong
4doublepdouble
5Stringstring无需中文分词
6Stringtext_ik、text_smartcn需要中文分词
7datepdate

更多的数据类型定义请参阅官方文档或solr-9.1.0\server\solr\core_test1\conf\managed-schema.xml文件中fieldType的定义

2、为core添加字段

编辑solr-9.1.0\server\solr\core_test1\conf\managed-schema.xml,在文档中schema节点下添加field节点定义

在这里插入图片描述

3、删除core目录下的data目录并重启solr服务

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老杜095

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值