首先,如果是从http://lucene.apache.org/solr/下载的solr,基本都是自带集成的jetty服务,不需要单独搭建tomcat环境,但是要注意jdk版本,直接解压通过cmd命令调用bin目录下的solr.cmd -start 来启动

就可以直接通过浏览器访问,默认端口是8983,地址:http://localhost:8983/solr

如果需要集成中文分词器

直接在实例目录下新建lib文件夹,将中文分词器jar复制进去,再修改scahm.xml文件的filetype节点类型就可以。

如:我新建的solr实例名叫new_core,那么就在solr-6.0.0\server\solr\new_core的路径下新建lib文件夹,并把中文分词器的jar复制进去

备注:分词器自己根据业务需要选择,常见的ik,hanlp,jcseg等

然后修改managed-schema配置文件的filetype,当然也可以新增(其实可以理解为新增了一种solr字段类型,至于要在那个字段引用,在filed字段节点上配置type为当前类型即可)

<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer" useSmart="false"/>
<analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer" useSmart="false"/>
</fieldType>
<fieldType name="text_hp" class="solr.TextField">
<analyzer type="index">
<tokenizer class="com.hankcs.lucene.HanLPTokenizerFactory" enableIndexMode="true"/>
</analyzer>
<analyzer type="query">
<tokenizer class="com.hankcs.lucene.HanLPTokenizerFactory" enableIndexMode="false"/>
</analyzer>
</fieldType>

注:class就是分词器jar解压的src下的路径。

更改完成后,可以重启solr服务,然后进入主页访问查看分词效果,当然前提是你要有自己的solr实例(即solr库)

加词典


在F:\solr-6.0.0\server\solr-webapp\webapp\WEB-INF下新建classes文件夹,然后新建IKAnalyzer.cfg.xml配置文件,内容为:

<?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">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry> </properties>

然后同级目录新增这两个dic文件,内容每行一个词,自己根据业务添加,也可以自己网上下载词库更新

第二种方式是tomcat下自定义部署solr,需要将solr包中的webapps部分复制到tomcat环境中,进行配置,详情可以自己网上找一下,不赘述,分词器配置也是一样的。

另外提一下solr删除全部索引数据的方法,在documents中,type选择xml,写上如下内容,点击提交,即可ok:

<delete><query>*:*</query></delete>
<commit/>

至于查询方法,新增方法,查询排序,加权重,加匹配度等,自己查,懒得写了。

然后值得一记的是cdh环境上的集成分词和部署,此处给自己留个提醒,其他人仅供参考

我这边的大数据环境是4台服务器的集群环境,用ZooKeeper来配置管理,solr便是在上面的,因为是配置管理所以都是模板复制一样的命令操作,虽然我一脸low逼的用FileZilla Client工具将jar包和配置的xml文件按上述本地配置的方式复制到4台服务器上,并且将分词jar包和词典配置都放在tomcat的环境下,

服务器但是重启solr服务后,无效,多次尝试后发现每次重启solr服务会把tomcat下的jar还原掉,问了下同事,才知道需要在服务器上执行一句命令来更新:solrctl instancedir --update suggest  /var/lib/solr/suggest

注意:suggest  是我的服务器的实例名(solr库名称)

然后赶紧用xshell工具连上服务器(任意一台都可以),执行命令,但是发现执行完的反馈信息只是刷新了var/lib/solr/suggest /conf下的内容,我的jar包并没用刷新,重启后还是会覆盖放在tomcat/webapps下的solr应用下的web-inf下的lib的jar包,然后继续找问题。

最终在网上找到一片文章:https://blog.csdn.net/weixin_33716941/article/details/92202491

原来这个也是可以直接复制修改的,然后把jar复制到

/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.pp0.4/lib/solr/webapps/solr/WEB-INF/lib下,再次重启solr服务OK了。

在高版本的CDH中,位置为:/usr/lib/solr/webapps/solr/WEB-INF/lib

另外需要注意的是:

solr版本和分词器的版本要对应,不能出现分词的jar版本高solr低的情况,否则配置完成后重启solr就会发现有错误

solr常用操作及集成分词器或cdh集群部署说明的更多相关文章

  1. Solr4.4入门,介绍Solr的安装、IK分词器的配置及高亮查询结果(转)

    一.Windows下安装solr-4.4.0 1.  下载solr.4.4 2.  下载绿色版tomcat6.0.18 3.  解压下载的solr到d:\study\solr,将dist目录下的sol ...

  2. solr英文使用的基本分词器和过滤器配置

    solr英文应用的基本分词器和过滤器配置 英文应用分词器和过滤器一般配置顺序 索引(index): 1:空格 WhitespaceTokenizer    2:过滤词(停用词,如:on.of.a.an ...

  3. Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安装及配置

    RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一 ...

  4. solr 集群(SolrCloud 分布式集群部署步骤)

    SolrCloud 分布式集群部署步骤 安装软件包准备 apache-tomcat-7.0.54 jdk1.7 solr-4.8.1 zookeeper-3.4.5 注:以上软件都是基于 Linux ...

  5. Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

    在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...

  6. HBase集成Zookeeper集群部署

    大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通 ...

  7. Hbase集群部署及shell操作

    本文详述了Hbase集群的部署. 集群部署 1.将安装包上传到集群并解压 scp hbase-0.99.2-bin.tar.gz mini1:/root/apps/ tar -zxvf hbase-0 ...

  8. RabbitMQ (简单集群部署操作)

    RabbitMQ 集群部署 前期准备 第一步:三台linux系统(centos7.3) 主机名(hostname) 网卡ip node1 192.168.137.138 node2 192.168.1 ...

  9. 13.solr学习速成之IK分词器

    IKAnalyzer简介 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包. IKAnalyzer特性 a. 算法采用“正向迭代最细粒度切分算法”,支持细粒度和最大词长两 ...

随机推荐

  1. 2.Markdown学习

    Makrdown学习: 1.推荐编辑器: Typora [点击跳转](https://www.typora.io/) 2.标题: #空格一级标题名 ##空格二级标题名 3.字体: 粗体:** ** H ...

  2. 解决python爬虫requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)问题

    爬虫时报错如下: requests.exceptions.SSLError: HTTPSConnectionPool(host='某某某网站', port=443): Max retries exce ...

  3. Installing PyCharm

    Installing PyCharm|                                                     #                            ...

  4. 龙芯 3B1500 Fedora28 安装笔记

    版权声明:原创文章,未经博主允许不得转载 龙芯 3A4000 已经发布,十年前的 3B1500 早就落伍了.但我还是打算把它作为寒假刷 ACM 题的主力机 并将此当作年后收到 4000 的预习. 龙芯 ...

  5. Warshall算法求传递闭包及具体实现

    传递闭包 在数学中,在集合 X 上的二元关系 R 的传递闭包是包含 R 的 X 上的最小的传递关系. 例如,如果 X 是(生或死)人的集合而 R 是关系“为父子”,则 R 的传递闭包是关系“x 是 y ...

  6. Azure 认知服务概述

    背景知识 近些年随着机器学习.深度学习等技术的不断发展,人工智能在越来越多的场景得到了应用,如人脸识别.图像识别.语音识别.语音生成.自然语言处理.决策分析等等,让机器拥有了听.说.看和思考的能力,很 ...

  7. ES6笔记分享 part 2

    ECMAScript ES6 从一脸懵逼到灵活运用 接 part 1 New String Methods const id = 'adcd123456x'; const fan = 'I love ...

  8. 大数据之Kafka史上最详细原理总结

    Kafka Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实 ...

  9. Linux防火墙之iptables常用扩展匹配条件(二)

    上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...

  10. SQL Server 常用的数据类型

    1. 字符串数据类型    char        此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定:如未指定,默认为char(1).每个字符占用1byte存储空间.    nchar ...