01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

什么是Solr

Solr Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化

Solr可以独立运行,运行在JettyTomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xmljson等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。

solr是基于lucene开发企业级搜索服务器,实际上就是封装了lucene

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-serviceAPI接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回结果

Solr类似webservice,调用接口,实现增加,修改,删除,查询索引库

 

SolrLucene的区别

Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。

 Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。

Solr类似webservice,提供接口,调用接口,发送一些特点语句,实现增加,删除,修改,查询。

1、solr 下载安装

下载地址: http://www.apache.org/dyn/closer.lua/lucene/solr/7.3.1

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

2 安装solr

下载之后,将solr-7.3.1.zip发在自己特定的盘符下。但是注意不要此目录最好不要有空格,中文或者其他特殊字符。

3、启动solr

解压solr-7.3.1.zip之后,进入其bin目录:在空白处shift+鼠标右键,进入Powershell窗口: 

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

然后输入cmd.exe

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

solr 7.3 自带jetty,可以独立运行,不需要使用Tomcat启动。

输入solr.cmd start 然后敲回车,就可以启动solr了。默认端口为:8983 

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

在浏览器输入localhost:8983/solr,就可以看到solr已经启动了

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置


4、创建核心core

            所谓core可以类比mysql数据库来理解,就好比mysql中一个个的数据库,用来存放具体的数据表的仓库。

切记不可以直接使用管理界面提供的add core来创建core

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置


在刚刚打开的窗口,输入 solr.cmd create -c test_Core 

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

此时进入安装目录下的server\solr,可看到创建了一个test_Core目录

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

进入该目录

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

创建好了后,刷新页面,同时在图中下拉框就可以看到你创建的Core了。如果看不到,在dos窗口输入 solr restart -p 8983  重启solr即可 

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

点击myCore 就可以看到如下信息:这些信息包含了分词器,还有数据导入,数据查询等功能

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

5、启动solr和创建core完成之后,这一步配置中文分词器:

添加中文分词插件:solr 7.3.1中自带中文分词插件,将solr-7.3.1\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-7.3.1.jar 复制到 solr-7.3.1\server\solr-webapp\webapp\WEB-INF\lib 目录中 

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

粘贴到目标路径:

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

配置中文分词,修改 solr-7.3.1\server\solr\test_Core**【这个test_Core是刚刚创建的core名称】**\conf\managed-schema文件,添加中文分词 

文件位置:

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

  打开这个文件后,搜索 Italian,在Italian下添加我们的中文配置(复制粘贴即可):

 <!-- Italian --> <!-- 配置中文分词器--> <fieldType name="text_cn" 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> 

配置完成:

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

使用solr restart -p 8983重启solr服务

刷新打开管理页

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

测试中文分词器:

    01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

6 、配置中文分词器 IK-Analyzer-Solr7

适配最新版solr7,并添加动态加载字典表功能;

在不需要重启solr服务的情况下加载新增的字典。

先下载solr7版本的ik分词器,下载地址:http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese
01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

    分词器GitHub源码地址:https://github.com/magese/ik-analyzer-solr7

    GitHub上有分词器的使用方式

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

将下载好的jar包放入solr-7.3.1/server/solr-webapp/webapp/WEB-INF/lib目录中

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

然后到solr-7.3.1/server/solr/test_Core/conf目录中打开managed-schema文件,添加如下配置

<!-- ik分词器 --> <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> 

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

 

 将gitHub下载的原码下的resources目录下的5个配置文件放入solr服务的jetty或tomcat的webapp/WEB-INF/classes/目录下(如果WEB-INF下没有classes目录,则自己手动创建);

①IKAnalyzer.cfg.xml
②ext.dic
③stopword.dic
④ik.conf
⑤dynamicdic.txt

ext.dic为扩展字典;

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

stopword.dic为停止词字典;

IKAnalyzer.cfg.xml为配置文件。

每个词单独成一行

配置完成后再次重启一次solr服务

分词测试

01 、Solr7.3.1 在Win10平台下使用jetty的部署及配置

对于我,是,没有再出现(因为在stopword.dic停用词词典中进行了配置)。


至此。Solr配置完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111283.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 阿里异构离线数据同步工具/平台DataX「建议收藏」

    阿里异构离线数据同步工具/平台DataX「建议收藏」​DataX是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX实现了包括MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS等各种异构数据源之间高效的数据同步功能。

    2022年6月28日
    41
  • 解析P12证书

    解析P12证书1.从磁盘上的证书文件中读取证书数据unsignedchar*pbP12Data;//证书数据unsignedlongulP12DataLen;//证书数据长度2.让用户输入证书密码char*szPwd;//证书密码3.将证书密码转换成UNICODE格式(最好采用二次调用方式)LPWSTRpWideChar=NULL;int

    2022年6月29日
    165
  • pipeline流水线框架_流水线主动轮设计

    pipeline流水线框架_流水线主动轮设计流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。缺点:功耗增加,面积增加,硬件复杂度增加,特别对于复杂逻辑如cpu的流水线而言,流水越深,发生需要hold流水线或reset流水线的情况时,时间损失越大。…

    2022年8月14日
    7
  • native/ascii在线转换工具_中文转ascii

    native/ascii在线转换工具_中文转ascii1,原理Property文件中,使用的编码根据机器的设置可能是GBK或者UTF-8。而在Java中读取Property文件时使用的是Unicode编码,编码方式不同会导致中文乱码,因此需要将Property文件中的中文字符转化成Unicode编码才能正常显示中文。2,解决办法Java提供了native2ascii这种专门的工具对Property文件进行编码转换,在JDK安装环境的bin目录下可以找…

    2025年10月26日
    2
  • 配置windows怎么关闭计算机,准备配置WINDOWS,请勿关闭计算机。

    配置windows怎么关闭计算机,准备配置WINDOWS,请勿关闭计算机。图片发自简书App早上,想着在台式计算机机上面进行修改些文字,但是,开机后屏幕上一直就是打开电脑后的那一行字:准备配置WINDOWS,请勿关闭计算机。一直那样子。弄得,弄得我没有办法进入机内去修改了。这样,过于依赖的机器之后,有的时候也是一种很不好的事情。回想原来,笔墨时代,就会简单。过去时代,人们生活中依赖机器的事情,并不多,虽说“工欲善其事,必先利其器”,但是所谓的“器”,那时候,不外乎也是些…

    2022年6月26日
    33
  • 快速上手Linux玩转典型应用

    快速上手Linux玩转典型应用

    2022年2月18日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号