当前位置:首页 > 服务端 > window下SOLR安装详解。

window下SOLR安装详解。

2022年11月08日 19:59:52服务端27

1.Solr的安装步骤详解。
1.1 安装前准备工作。

  • tomcat 7.0.53
  • solr 4.0.26
  • window7系统
  • 分词器用的IKAnalyzer
    安装步骤:
    第一步:安装tomcat。如果解压缩版只需要解压即可。
    第二步:解压缩solr的包。
    重要的文件夹:dist、example

第三步:把dist\solr-4.10.3.war复制到tomcat的webapp目录下。改名为solr.war,改名不是必须的,为了方便访问。
第四步:解压war包。启动tomcat自动解压。解压完成后关闭tomcat。
第五步:需要把example\lib\ext\目录下所有的jar包添加到solr项目中。
第六步:需要创建一个solrhome(solr所有配置文件存放的目录)solr-4.10.3\example\solr文件夹就是一个标准的solrhome可以直接使用。把solr文件复制到D:\temp\1121目录下,改名为solrhome。改名不是必须,为了便于理解。
1、Solrhome下的collection1文件夹就是一个solrcore,一个solrcore就是一个独立的索引库。一个solr可以有多个solrcore。

2、collection1\conf下有一堆配置文件,就是对solrcore的配置。有两个重要的配置文件:
a) Schema.xml
b) Solrconfig.xml
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
3、Solrconfig.xml
a) luceneMatchVersion:匹配Lucene的版本
b) Lib就是solrcore的扩展jar包的位置。默认是collection1\lib文件夹。如果添加扩展jar包,没有lib就需要创建一个文件夹。
c) dataDir:索引库存放路径。默认是collection1\data文件夹。如果没有会自动创建。
d) requestHandler
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记

可以使用默认配置,不需要修改配置。
第七步:告诉solr工程solrhome的位置。需要修改solr的web.xml文件。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记

第八步:启动tomcat
访问http://localhost:8080/solr/

安装成功访问会显示如下页面:
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
solr到此安装完毕。下面我们需要安装solr在项目中常用的插件.
2.数据导入(dataImport)插件安装(在项目中用来导入数据生成索引库使用的。)
2.1.首先在example中找到数据导入的两个jar包导入和数据库驱动的jar包。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
注意:不要忘记导入数据库的jar包。
2.2在solrconfig中配置数据导入的插件。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
2.3.data-config.xml中的内容,主要是用来连接数据库的。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
dataImport插件安装完成。。
3.document的维护操作。
3.1索引库的增删改操作都使用此功能完成。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记

3.2.query功能
查询索引库功能。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
其它的更新,删除操作都类似。
4. 索引库的维护
4.1添加文档
1、文档中必须有id域。
2、文档中使用的域的名称必须在schema.xml中定义。
4.2 Schema.xml
1、field:域的定义。在solr中域的名称必须先定义后使用。
a) Type:域的数据类型
b) Indexed:是否索引
c) Stored:是否存储
d) multiValued:是否多值
2、dynamicField动态域
只要域的名称能和动态域的名称向匹配就能使用。
3、uniqueKey。相当于mysql表中的主键。值必须唯一,并且id域必须存在。
4、copyField复制域
Source:源域
Dest:目标域
功能就是把源域的内容复制到目标域。
5、fieldType数据类型,域的类型定义。
a) Name:数据类型的名称
b) Class:对应数据类型实际的class
c) 如果想自定义分析器需要使用solr.TextField

5.配置自定义的数据类型
第一步:配置中文分析器
1、把IK分析器的jar包添加到solr的工程中。
2、 window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
3、 window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
4、需要把分析器的配置文件扩展词典放到solr工程的classpath下。Solr/WEB-INF/classes目录下。
第二步:在schema.xml中添加域类型的定义




第三步:重启tomcat
在schema.xml中添加如下配置。。。
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记
6.1自定义域
添加商品表对应的域。一个字段对应一域。
搜索需要使用的域:商品名称、商品描述
过滤条件:商品分类名称、商品价格
展示图片:商品图片








window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记

添加文档,必须有id域,用到的域必须在schema.xml中定义。Id是不能重复的。
6.2删除文档
1.1.1 根据id删除文档
window下SOLR安装详解。 _ JavaClub全栈架构师技术笔记

不要忘记提交。

1.1.2 根据查询删除

id:a002

如果查询条件是:就是删除全部文档。

1.2 修改文档
没有修改方法。只需要添加以新的文档,id和被修改的文档id一致即可。
原理:先删除后添加。

  1. 查询索引库
    7.1简介查询
    步骤:
    1、创建一个SolrServer对象
    2、创建一个查询对象SolrQuery对象。
    3、指定SolrQuery对象的查询条件、过滤条件等。
    4、执行查询。返回一查询结果。
    5、取查询结果并打印。
    //查询索引库
    @Test
    public void queryIndex() throws Exception {
    SolrServer solrServer = new HttpSolrServer(“http://localhost:8080/solr“);
    //创建一查询对象
    SolrQuery query = new SolrQuery();
    //指定查询条件
    //query.setQuery(“:“);
    query.set(“q”, “:“);
    //执行查询
    QueryResponse queryResponse = solrServer.query(query);
    SolrDocumentList solrDocumentList = queryResponse.getResults();
    //取查询结果总数量
    System.out.println(“查询结果总数量:” + solrDocumentList.getNumFound());
    System.out.println(“当前结果集中的记录数:” + solrDocumentList.size());
    //遍历结果集
    for (SolrDocument solrDocument : solrDocumentList) {
    //取属性并打印
    System.out.println(solrDocument.get(“id”));
    System.out.println(solrDocument.get(“product_name”));
    System.out.println(solrDocument.get(“product_price”));
    System.out.println(solrDocument.get(“product_picture”));
    System.out.println(solrDocument.get(“product_catalog_name”));
    }
    }
    7.2复杂的查询
    //复杂查询
    @Test
    public void searchIndex() throws Exception {
    SolrServer solrServer = new HttpSolrServer(“http://localhost:8080/solr“);
    //创建一查询对象
    SolrQuery query = new SolrQuery();
    //设置查询条件
    query.setQuery(“家天下”);
    //设置过滤条件
    query.addFilterQuery(“product_catalog_name:幽默杂货”, “product_price:[0 TO 50]”);
    //设置排序条件
    query.setSort(“product_price”, ORDER.asc);
    //分页条件
    query.setStart(0);
    query.setRows(20);
    //返回结果中包含的域
    query.setFields(“id”,”product_name”,”product_price”);
    //设置默认搜索域
    query.set(“df”, “product_keywords”);
    //开启高亮
    query.setHighlight(true);
    //设置高亮显示的域
    query.addHighlightField(“product_name”);
    //高亮前缀
    query.setHighlightSimplePre(““);
    //高亮后缀
    query.setHighlightSimplePost(“
    “);
    //执行查询
    QueryResponse response = solrServer.query(query);
    //取查询结果
    SolrDocumentList documentList = response.getResults();
    //取返回结果总数量
    System.out.println(“查询结果总数量:” + documentList.getNumFound());
    //取结果列表
    for (SolrDocument solrDocument : documentList) {
    //取属性并打印
    System.out.println(solrDocument.get(“id”));
    //取高亮显示
    Map

作者:wanzuwodou
来源链接:https://blog.csdn.net/wanzuwodou/article/details/50424951

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

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


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

分享给朋友:

“window下SOLR安装详解。” 的相关文章

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

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

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

Linux CentOS操作系统下Docker的安装

Linux CentOS操作系统下Docker的安装

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

IDEA 2020 激活

IDEA 2020 激活 下载 jetbrains-agent.jar 文件 将下载的文件 bin 目录下的三个文件拷贝到 IDEA 安装的后的 bin 目录下,替换文件 编辑 idea.exe.vmoptions 和 idea64.exe.vmopti...

(链接)IDEA 2018 激活 IDEA 2018.3激活教程 最新的(三种)—2018.11.26亲测

破解不成功的请注意时效性,写于2019/2/8,以下第一种激活方法亲测可用, 不过有时候破解成功了可能过几天突然就打不开了,双击无反应的说,这时候再按顺序 操作一遍就是了: 1)把idea64.exe.vmoptions文件下的:-javaagent:D:/idea/...

IntelliJ IDEA 激活码,免费的就是香,1分钟快速激活IDEA!

IntelliJ IDEA 激活码,免费的就是香,1分钟快速激活IDEA!

一、IntelliJ IDEA 激活码 下边的 IDEA 激活码失效了的话,请关注微信公众号:码农code之路,然后发送“ 激活码 ”即可获取最新且有效的。 二、免费的就是香,1分钟快速激活IDEA YT8MCJ1MVC-eyJsaWNlb...

idea 2019激活置2099年教程 diea版本为2018.3版

idea 2019激活置2099年教程 diea版本为2018.3版

idea 2019激活置2099年教程 diea版本为2018.3版 1.下载完成之后双击安装包进行安装 官网下载链接 2.下载破解补丁 百度云下载地址 提取码:4m1b 找到idea安装目录的bin目...

打开IDEA就出现This license K71U8DBPNE has been cancelled

打开IDEA就出现This license K71U8DBPNE has been cancelled ①进入 C:\windows\system32\drivers\etc ②打开hosts文件,并加入: 0.0.0.0 account.j...

IDEA安装激活方法

IDEA安装激活方法 作者:森林老虎 来源链接:https://blog.csdn.net/wcc178399/article/details/88549844...

Linux中CentOS7使用Docker安装RabbitMQ

Linux中CentOS7使用Docker安装RabbitMQ

 没有安装Docker参考我这篇文章:Linux中CentOs7安装Docker以及Docker的干净卸载_$初学者¥的博客-CSDN博客CentOS安装Docker,CentOS将Docker卸载干净。https://blog.csdn.net/qq_51750546...

Docker安装消息队列--RabbitMQ 教程

个人主页 gitee GitHub 个人简介 作者是一个来自河源的大三在校生,以下笔记都是作者自学之路的一些浅薄经验,如有错误请指正,将来会不断的完善笔记,帮助更多的Java爱好者入门。 Docker安装消息队列–RabbitMQ...

发表评论

访客

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