当前位置:首页 > 服务端 > Solr搜索引擎学习笔记01--Solr安装

Solr搜索引擎学习笔记01--Solr安装

2022年09月17日 18:16:34服务端16

一、安装

首先下载solr,下载地址,选择安装目录,我本地安装位置:

/home/ypcfly/ypcfly/software/solr/solr-7.5.0
// 常用命令

 1. ./solr start    
 2. ./solr restart 
 3. ./sorl stop
 4. 如果是root用户启动 :./solr start -force

解压以后直接进入到安装路径下的bin目录,执行启动命令启动solr服务,启动成功后,打开浏览器访问:
localhost:8983/solr
Solr搜索引擎学习笔记01--Solr安装 _ JavaClub全栈架构师技术笔记表示服务器已经成功启动了,接下来我们需要创建一个core,一个solr服务是可以有多个core的,创建core可以直接通过命令创建

./solr create –c "core name"

也可以通过后台管理页面手动创建。先进入到 /home/ypcfly/ypcfly/software/solr/solr-7.5.0/server/solr目录下,创建一个文件夹"custom_core",并复制同目录下的configsets文件夹下的"conf"文件夹到"custom_core",然后进入solr的后台管理页面,如下图:
configure中有一些两个文件夹:

_default  sample_techproducts_configs

其中_default为比较精简的配置文件,可以复制这个文件夹里的“config文件夹”
Solr搜索引擎学习笔记01--Solr安装 _ JavaClub全栈架构师技术笔记如果创建过程中出错,按照错误信息提示修改就可以了,这个过程还是很简单的。最后在"core selector"下可以选择自己的core,并进行其他的操作,到这里solr的安装以及core的创建就完成了。

二、数据导入

core创建好了之后,solr还没有数据,所以需要从数据库批量添加数据到solr服务器。数据导入可以通过solr后台管理页面导入,也可以通过代码操作solr客户端导入,这里就简单的通过后台管理页面导入数据。先选择需要导入数据的core,然后选择Dataimport,如下图:
Solr搜索引擎学习笔记01--Solr安装 _ JavaClub全栈架构师技术笔记但是,在导入之前我们还有两个很重要的事情需要处理:一是配置导入数据需要的处理器;二是配置数据源。

1、配置导入数据处理器

打开 /home/ypcfly/ypcfly/software/solr/solr-7.5.0/server/solr/cutom_core/conf/solrconfig.xml文件,添加导入数据处理器,这个和其他的处理器放在一起就可以了。

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  <lst name="defaults">
    //配置文件的路径应该也可以使用绝对路径
    <str name="config">dataConfig.xml</str>
  </lst>
</requestHandler>

2、配置数据源

然后在conf文件夹下新建一个dataConfig.xml文件(名字自己随意取,只需要和上面solrconfig配置中的名称一致即可),并配置数据源和相关的document,也就是需要导入的数据。solr的数据源是支持多个数据库的,比方我可以使用mysql的user表,同时使用postgresql的order表,只是相对复杂一点,多库的情况个人感觉应该很少见。具体可以见solr官方文档,我依然使用的是postgresql数据库,其他数据库一样的格式。这里我document配置了最简单的单表查询。entity就是我们的"实体",column就是表的列名,name是对应的solr的Field。

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
  <dataSource
        driver="org.postgresql.Driver"
        url="jdbc:postgresql://localhost:5432/springboot"
        user="postgres" password="123456"/>
  <document>
      <entity name="user" query="select * from t_user">
        <field column="id" name="id"/>
        <field column="username" name="userName"/>
        <field column="age" name="userAge"/>
        <field column="sex" name="sex"/>
        <field column="address" name="address"/>
        <field column="mobile" name="mobile"/>
        <field column="description" name="description"/>
      </entity>
  </document>
</dataConfig>

数据源的配置文件配置好以后,需要将数据库查询的column的名字和solr中Field的名字对应起来,所以还需要在schema配置文件添加相关的Field,打开conf下面的managed-schema文件,添加相应的Field。

<!-- 自定义添加filed -->
    <field name="userName" type="string" indexed="true" stored="true"/>
    <field name="userAge" type="pint" indexed="true" stored="true"/>
    <field name="sex" type="string" indexed="true" stored="true"/>
    <field name="mobile" type="string" indexed="true" stored="true"/>
    <field name="address" type="string" indexed="true" stored="true"/>
    <field name="description" type="string" indexed="true" stored="true"/>

自定义Field的类型必须是solr已有的类型,indexed表示改字段是否支持索引,stored表示是否会存储。至于为什么我没添加id,那是因为solr已经有了id字段,所以不需要用户再去定义了。
最后一个是导入相关的jar包,因为数据导入我们使用到了数据库,所以必须要有数据库驱动的jar,另一个就是solr自带的data-import的jar。数据库驱动根据自己数据库选择,而solr自带的两个相关jar包,可以在solr解压目录"dist"目录下找到,而我本地路径:

/home/ypcfly/ypcfly/software/solr/solr-7.5.0/dist

一个是solr-dataimporthandler-7.5.0.jar,另一个是solr-dataimporthandler-extras-7.5.0.jar。将这三个jar包复制到"…/server/solr-webapp/webapp/WEB-INF/lib"文件夹下。
然后重新启动solr服务器。

3、数据导入

启动好solr服务器后,打开solr后台管理页面,选择"Dataimport",勾选上"图-3"中的"Clean"和"Commit",然后点击"Excute"执行成功后,在点击旁边的"Refresh status",如果报错的话根据报错信息进行排除即可。然后我们查询一下数据是不是真的导入成功,选择查询所有数据,看结果是否一致就可以了
Solr搜索引擎学习笔记01--Solr安装 _ JavaClub全栈架构师技术笔记结果总共有4条记录和我数据的数据完全一致,说明数据导入成功了。

三、安装IK分词器

其实solr也好elasticsearch一般都会配置单独的中文分词器,根据需要可能会选IK或者pingyin,也可能都安装,下面简单记录下安装IK中文分词的过程。solr也是有自带分词器的,但是对中文支持并不好,所以都会需要安装专门的中文分词器。

1、配置IK

先根据自己solr版本下载相应的IK分词器包,下载地址。感觉solr版本的IK下载地址不太好找,不像Elasticsearch非常容易找到每个版本对应的IK。下载的时候选择jar格式,下载之后将jar包复制到"…/server/solr-webapp/webapp/WEB-INF/lib"文件夹下,我的本地路径是:

/home/ypcfly/ypcfly/software/solr/solr-7.5.0/server/solr-webapp/webapp/WEB-INF/lib
然后在WEB-INF文件夹下新建一个"classes"文件,复制IK分词器需要的相关配置文件(我是从jar包解压获取的)到classes目录下,其实主要就一个,那就是"IKAnalyzer.cfg.xml",也就是IK的配置文件,内容也不多,如果找不到直接复制就行

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
    <comment>IK Analyzer 扩展配置</comment>
    <!--用户可以在这里配置自己的扩展字典 -->
    <entry key="ext_dict">custom.dic;</entry> 
    
    <!--用户可以在这里配置自己的扩展停止词字典-->
    <entry key="ext_stopwords">stopword.dic;</entry> 
    
</properties>

2、配置schema

这里我们需要打开"core"/conf目录下的"managed-schema"文件,然后添加上IK的分词器的配置内容:

<fieldType name="ik_word" 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>

名字自己随意就好了,到这里关于IK分词器的整个配置就完成了,接下来使用IK分词器测试一下。

3、测试

配置IK完成后启动solr服务器,选择自定义的core,选择"Analysis",随意输入一段中文,然后选择到"ik_word"(和上面managed-schema配置中自己定义名称一致),点击右侧"Analyse Values",结果如下:
Solr搜索引擎学习笔记01--Solr安装 _ JavaClub全栈架构师技术笔记

本文转载于:(谢谢作者提供)

作者:超超学堂
链接:https://www.jianshu.com/p/4b5b10e75245
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

作者:小白爱吃鱼吖
来源链接:https://blog.csdn.net/BattleITMan/article/details/106458988

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42714.html

分享给朋友:

“Solr搜索引擎学习笔记01--Solr安装” 的相关文章

python解释器安装教程以及环境变量的配置

python解释器安装教程以及环境变量的配置

一‘’Python是一门强大的语言,目前已支持所有主流操作系统,在Windows7,Windows10系统上需要安装一下: 打开官网 https://www.python.org/downloads/windows/ 下载中心 最上边是两个最新的版本,长期计划...

Git的安装教程(完成clone一个项目到本地)

Git的安装教程(完成clone一个项目到本地)

官网下载安装包地址:点击进入 https://git-scm.com/download/win 但是官网下载比较慢,我们这里选择国内阿里镜像点击进入 https://npm.taobao.org/mirro...

Git详细安装教程,翻译

Git详细安装教程,翻译

Git详细安装教程,翻译 Git 2.21.0 Setup 1、 解释: Additional icons 附加图标 ​ On the Desktop 在桌面上 Windows Explorer integration Windows...

RabbitMQ安装教程

RabbitMQ安装教程

前言    之前安装的时候参考了一篇博客,成功的安装上了,但是没有记录自己安装过程,又在一个虚拟机上重新安装了一遍,记录自己的安装过程,方便自己以后参考。 步骤   Rabbitmq是用erlang语言写的,所以我们需要安装Erla...

IDEA安装教程(多图预警)

IDEA安装教程(多图预警)

简介 关于IDEA的介绍,引用自百度百科: IDEA全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类...

Linux CentOS操作系统下Docker的安装

Linux CentOS操作系统下Docker的安装

CentOS安装Docker 以Docker为代表的容器技术是目前非常流行的一类技术,对虚拟化、云计算以及软件开发流程都有革命性的影响。本文使用CentOS作为Docker的宿主机,我使用的是CentOS7,linux 3.10 内核,docker...

超详细图文教你如何使用 PyCharm 进行远程调试

超详细图文教你如何使用 PyCharm 进行远程调试

推荐阅读:http://pycharm.iswbm.com 这一篇文章是以前的文章,有的朋友已经看过,但是没有关系,因为这次我准备介绍这几大调试工具都是如何调试,又该如何选择。 一般情况下,我们开发调试都是在个人PC上完成,遇到问题,开一下 Pycharm 的调试器,很快就...

linux下使用docker安装RabbitMQ

linux下使用docker安装RabbitMQ

一.下载RabbitMQ镜像 docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rab...

史上最好用的idea激活方法

史上最好用的idea激活方法

  最近idea老出现激活一段时间然后就让重新激活的情况,每次都网上搜索一大堆激活方法,各种网址被封,各种插件不能用。就通过朋友介绍搞到一种方式,目前对于2018版本和2019版本都能激活并且正常使用。不多说了,直接上解决方法。   一 通过下载jar包放到任意文...

docker安装及删除Redis

docker安装及删除Redis

redis的安装方式有很多,本文讲述的是在docker中如何安装redis及删除redis的容器和镜像。 通过docker安装redis前,首先要确保虚拟机或服务器上已经安装了docker。 1、执行以下指令确定系统上是否已经安装了docker,本机显示已安装:...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。