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

news2024/11/14 20:25:06

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

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

目录

  • Apache Solr 9.1-(一)初体验单机模式运行
  • 一、安装Apache Solr 9.1
    • 1、各组件版本说明
    • 2、下载Apache Solr 9.1
    • 3、解压和配置JDK
  • 二、创建Core
    • 1、使用solr create命令创建core
  • 三、安装中文分词器
    • 1、下载IK-Analyzer
    • 2、将ik-analyzer-8.5.0.jar放入solr目录下
    • 3、将ik-analyzer中文分词类型加入上步新创建的core_test1中
    • 4、重启solr服务
  • 四、安装solr自带的smartcn中文分词器
    • 1、将lucene-analysis-smartcn-9.3.0.jar也要放入solr目录下
    • 2、将smartcn中文分词类型加入上步新创建的core_test1中
    • 3、重启solr服务
    • 4、验证smartcn中文分词器
  • 五、解决不能通过其它机器通过http://ip:8983/solr/访问的问题
    • 1、编辑solr-9.1.0\bin\solr.cmd
    • 2、重启solr服务
    • 3、验证
  • 六、配置Core中字段
    • 1、各数据类型与solr中类型的对应关系
    • 2、为core添加字段
    • 3、删除core目录下的data目录并重启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服务

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day12-继承

1. 继承 1.1 继承的实现&#xff08;掌握&#xff09; 继承的概念 继承是面向对象三大特征之一&#xff0c;可以使得子类具有父类的属性和方法&#xff0c;还可以在子类中重新定义&#xff0c;以及追加属性和方法 实现继承的格式 继承通过extends实现格式&#xff1a;class 子…

【算法题】1318. 或运算的最小翻转次数

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 题目&#xff1a; 给你三个正整数 a、b 和 c。 你可…

Webpack:HTML Webpack Plugin插件

HTML Webpack Plugin插件&#xff0c;在Webpack构建的前端项目中&#xff0c;用于简化index.html文件的创建&#xff0c;以免除项目打包之后手动创建/拷贝index.html到打包目录下的繁琐步骤。以下&#xff0c;从一个已构建好的Vue项目中的一个现象谈起&#xff0c;逐步深入了解…

vs code中的platformIO插件,完成Arduino的程序编写,导入,安装开发板管理库

准备工作 vs code已经安装好&#xff0c;扩展插件plateformIO也安装好。&#xff08;下图是platformIO安装方式&#xff09; platformIO界面功能介绍和简单使用 新建Arduino项目 选择正确的开发板型号&#xff0c;和自己习惯的编译框架。打开后有一个.ini的配置文件&#x…

MySQL表的增删改查(初级)

MySQL数据库最核心的内容就是增删改查&#xff08;即CURD&#xff09;,看了这篇初级增删改查的博客之后可以解决以后工作中百分之80-90的内容&#xff0c;这部分的知识并不是很难&#xff0c;但是需要一定的熟练程度&#xff1b;C&#xff1a;create--新增U&#xff1a;update-…

设计模式_行为型模式 -《策略模式》

设计模式_行为型模式 -《策略模式》 笔记整理自 黑马程序员Java设计模式详解&#xff0c; 23种Java设计模式&#xff08;图解框架源码分析实战&#xff09; 概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、…

Nginx应用场景

Nginx应用场景 Nginx配置文件说明 Nginx 的配置文件位置 1、文件位置 安装目录\conf\nginx.conf 安装目录\nginx.conf 2、两个文件是一样的 3、使用 /usr/local/nginx/sbin/nginx 启动 Nginx &#xff0c;默认用的是 安装目录 \nginx.conf 配置文件 4、作用&#xff1a;完…

三、命令行工具cmder的安装

1、cmder安装 1.1、cmder简介 cmder是一个增强型命令工具&#xff0c;不仅可以使用Windows下的所有命令&#xff0c;并且还可以使用Linux和shell命令。 1.2、cmder下载 (1)cmder的官方网站提供的下载地址实在是太慢了基本是下载不下来&#xff0c;建议到清华大学的镜像站去…

SELECT必知必会_引擎,PROCEDURE,事务处理

书接上文&#xff0c;之前说了Mysql的SELECT部分&#xff0c;本片文章会重点介绍关于MySql的其他一些知识&#xff0c;也会是MySql必知必会的最后一篇。 首先&#xff0c;是Mysql中的增删改操作&#xff0c;对于测试岗来说&#xff0c;这部分知识相对来说不是那么重要&#xf…

案例分享 | AI助力肯尼亚“Sheng”语研究

你听说过一种叫做“Sheng”的语言吗&#xff1f;这是一种斯瓦希里语-英语俚语&#xff0c;主要使用者为肯尼亚内罗毕等城市地区的青年。近年来&#xff0c;随着“Sheng”的使用量不断增加&#xff0c;一家非盈利组织正在帮助更新该地区的社区信息资源&#xff0c;随时根据词汇中…

【6s965-fall2022】深度学习的效率指标

两个核心指标是计算和内存(Computation and Memory)。需要考虑的三个维度是存储、延迟和能耗(Storage, Latency, and Energy)。 延迟 Latency Latency max(Toperation,Tmemory)max(T_{operation}, T_{memory})max(Toperation​,Tmemory​) 能耗 Energy 内存访问比计算更消耗…

Softmax Loss、AAM-Softmax(ArcFace)、Sub-center ArcFace的PyTorch实现与代码解读

概述 说话人识别中的损失函数分为基于多类别分类的损失函数&#xff0c;和端到端的损失函数&#xff08;也叫基于度量学习的损失函数&#xff09;&#xff0c;关于这些损失函数的理论部分&#xff0c;可参考说话人识别中的损失函数本文主要关注这些损失函数的实现&#xff0c;…

开源PPP软件PRIDE-PPPAR使用记录(二)解算网友发来的GNSS观测文件

最近有个网友发来了几个GNSS原始观测文件&#xff0c;想使用TerraPos处理一下看看结果。 TerraPos打开这几个文件&#xff0c;都报一个格式错误&#xff0c;见下图&#xff1a; 正在上传…重新上传取消​ 这个问题不难&#xff0c;解决之道就是按照上一篇文章的方法&#xf…

杭州到温州老家自驾路线优化与整理

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 背景及义意义 背景 考虑到后续经常回老家&#xff0c;需要提前熟悉回家的路线。杭州和温州有很多快速路和国道与高速是基本相伴而行的&#xff0c;可以利用这些道路取…

在项目管理中,甘特图是最常用的工具之一

在项目管理中&#xff0c;为了能对项目过程进行监控&#xff0c;可视化进度管理&#xff0c;需要使用辅助工具来帮助我们管理项目&#xff0c;而甘特图则是其中最经常使用的工具之一。 甘特图更够清晰的反映项目各个阶段的计划&#xff0c;任务由谁负责&#xff0c;计划与实际…

mysql性能优化二

1 mysql 基本功能 1.1、mysql连接器的工作流程: 1.2、查看连接状态: show processlist; Note:客户端太长时间没动静 就自动断开 这个时间是由wait_timeout参数控制的,默认8h 长连接短链接 长连接是链接成功后,如果客户端持续有请求,则使用同一个链接[尽量使用长连接,因为每次…

通用NetCore前后端分离项目Linux系统部署步骤

最近参与的大部分项目都是NetCore API加SAP页面的形式&#xff0c;都是部署在linux系统上&#xff0c;本文记录新领的服务器的部署步骤。采用NetCore3.1&#xff0c;MySql数据库。 本文记录的程序名&#xff1a;myapp.dll 部署文件保存目录&#xff1a; 后台程序&#xff1a;/u…

SOLIDWORKS 2023新功能揭秘!装配体升级 阵列实例、配合错误修复、零件替换同步更新

SOLIDWORKS 2023全新面世&#xff0c;今天众联亿诚为大家带来SOLIDWORKS 2023装配体的新功能揭秘&#xff0c;SOLIDWORKS 2023对装配体进行功能增强&#xff0c;并且继续加强性能&#xff0c;让我们深入研究这些令人振奋的新功能吧&#xff01;在装配体中阵列是一种常见的、节省…

jfow-core 代码分析

EntityNoName目录概述需求&#xff1a;设计思路实现思路分析1.code:2.code2&#xff1a;3.FLows4.frm5.code3:code4:EntityTreeAttrEntitiesNoNameenum:JUmp way参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full bu…

深度学习是什么?深度学习和神经网络的区别是什么

1、深度学习中什么是人工神经网络&#xff1f; 人工神经网络&#xff08;Artificial Neural Network&#xff0c;即ANN &#xff09;是从信息处理角度对人脑神经元网络进行抽象&#xff0c;是20世纪80年代以来人工智能领域兴起的研究热点&#xff0c;其本质是一种运算模型&…