搜索服务应用:solr的使用

2023-11-16

开始前

环境:solr4.10.3,jdk1.7,tomcat7

下载地址:http://archive.apache.org/dist/lucene/solr/

说明:solr和lucen更新是同步的,请配对使用,lucene用什么版本solr就用什么版本

将下载的zip解压,solr本身集成了jetty服务器,可以直接启动

cmd命令启动

然后直接访问:http://127.0.0.1:8983/solr

配置

1,solr的配置

solrHome是solr服务运行的主目录,一个SolrHome目录中包含多个solrcore,而solrcore包含solr的配置文件和数据

一般一个solrcore里面配置了一个项目的数据库数据

1,建立一个work,作为solrHome的根目录

2,将解压的solr4.10.3\example\solr,复制到work中,并改名为solrHome

3,最终可以看到一个默认的solrcore

4,配置work\solrhome\collection1\conf\solrconfig.xml文件

lib标签:引用拓展的jar包,例如后面会使用到数据库的驱动包。方便管理你可以使用时先将jar包放在指定的目录,再加载路径

datadir标签:配置solrcore的data目录,data目录用来存放solrcore的索引文件和tlo日志文件,solr.data.dir表示${SolrCore}/data的目录位置。已经配置好,一般不用修改

 

requesthandler标签:requesthandler请求处理器,定义了索引和搜索的访问方式

通过/updat维护索引,可以完成索引的添加、删除、修改操作:

 

/select,当然就是查询了:

 

参数说明:

<requestHandler name="/select" class="solr.SearchHandler">
<!-- 设置默认的参数值,可以在请求地址中修改这些参数-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int><!--显示数量-->
<str name="wt">json</str><!--显示格式-->
<str name="df">text</str><!--默认搜索字段-->
</lst>
</requestHandler>

2,tomcat配置

tomcat与work同级目录,自行配置tomcat的端口,不冲突就好

1,将solr.war文件拷贝到tomcat的webapps下,解压war,得到的文件夹保留,然后删了war

2,把solr解压包下solr-4.10.3\example\lib\ext目录下的所有jar包拷贝到Tomcat部署solr的WEB-INF/lib文件夹

3,把solr解压包下solr-4.10.3\example\resources\log4j.properties文件,复制到Tomcat的webapps下,solr中的WEB-INF\classes目录下(如果没有classes目录,创建一个

4,修改web.xml,让Tomcat使用JNDI的方式告诉solr服务器SolrHome位置

5,启动tomcat 即可

部署一个项目的数据

1,配置中文分词器

分词器Github:https://github.com/magese/ik-analyzer-solr7,里面有下面两个1、2步骤的jar包及文件

1,在solrconfig.xml(work\solrhome\collection1\conf\solrconfig.xml)中加载中文分词器的jar包

2,将以下文件放到tomcat solr项目中的classes文件夹中

2,scheme.xml文件

1,配置IK分词器的域类型

<fieldType name="text_ik" class="solr.TextField">
      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"></analyzer>
 </fieldType>

 2,然后使用ik分词器

3,重新启动tomcat,分词器已生效 

3,同步关系数据库中的数据到solr 

1,配置数据库字段,同样在scheme.xml文件。

solr唯一约束:id

其他字段

 

4,配置导入数据的请求处理器,数据库驱动包

1,上面配置solrConfig.xml说到的lib加载标签

 

 

5,配置数据导入处理器,导入数据库数据,加载数据库配置文件

 

6,新建data-config.xml,与solrconfig同级

 

7,启动tomcat

1,如果solrcore是复制过来的,那么数据可能会有残留,刚开始可以先删除索引库,选择xml。此步骤是删除索引库,谨慎操作

 

 

2,导入要使用的数据。其实就是执行上面data-config的内容

3,点击刷新状态,成功

solr的配置就到这里了。下面是java代码的使用

8,数据的检索 

1,将httpsolrserver

 

2,查询全部的索引库数据 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

搜索服务应用:solr的使用 的相关文章

  • 为Linux的cp和mv命令添加进度条

    为Linux的cp和mv命令添加进度条 cp和mv可能是大家日常中使用最多的Linux命令之一 但是有一个突出的问题是这两个命令都不会有任何提示信息 这在操作大文件时候只能干等 可能大家对此已经习以为常 但是其实上也有解决解决方法 本文我们
  • Spice-server源码简要分析

    下载地址 https www spice space org download releases spice server spice 0 14 1 tar bz2 也可以在gitlab下载 https gitlab com spice s
  • LocalDate,LocalDateTime,Date及时间戳的转换

    1 时间戳转LocalDateTime 时间戳如果是字符串则先转为long LocalDateTime localDateTime LocalDateTime ofEpochSecond System currentTimeMillis 1
  • Kendo UI开发教程(16): Kendo MVVM 数据绑定(五) Events

    本篇和Kendo UI开发教程 14 Kendo MVVM 数据绑定 三 Click类似 为事件绑定的一般形式 Events绑定支持将ViewModel的方法绑定到DOM元素的事件处理 如鼠标事件 例如 1
  • c++中管道代码_如何在管道中添加动态代码分析

    c 中管道代码 我们大多数人都对著名的马克 扎克伯格宣言 快速行动并打破事物 非常熟悉 在2014年 这是一个非常大胆的声明 正如扎克伯格很快意识到的那样 可能太过大胆了 后来他撤回了它 表明了他想要快速行动但保持稳定的新愿望 为了更好地解
  • layui复选框

    效果图 layui复选框 一个主的复选框控制多个从复选框 主复选框和从复选框的颜色不一样 layui复选框的样式 都是在选然后才会有的 所以直接通过css设置就实现不了了 只可以通过js动态设置 html代码使用了jfinal的模板 div
  • C++之string

    一些简单的关于string对象的知识 以后还会补充 1 2 3 4 5 6 7 8 9 10 11
  • 详解C结构体、C++结构体 和 C++类的区别

    先来说说C和C 中结构体的不同 a C语言中的结构体不能为空 否则会报错 1 gt d myproject visual studio 2013 projects myc main c 71 error C2016 C 要求一个结构或联合至
  • IP地址学习总结

    IP地址 IP地址是局域网中某台主机的唯一标识 一段二进制编码 由32位组成 但是通常使用点分十进制来表示 便于记忆 x x x x 子网掩码 在同一局域网中 所有的IP必须在同一网段才能相互通信 而子网掩码用来标识是属于哪一个网段 确定I
  • uniapp - 实现微信小程序电子签名板,横屏手写姓名签名专用写字画板(详细运行示例,一键复制开箱即用)

    效果图 实现了在uniapp项目中 微信小程序平台流畅的写字签名板 也可以绘图 功能源码 复制粘贴 改改样式几分钟即可搞定 支持自动横屏 持预览 真机运行测试非常流畅不卡顿 基础模板 如下代码所示
  • Harbor镜像仓库搭建

    1 安装docker comprose docker comprose是docker容器批量管理工具 curl L https get daocloud io docker compose releases download 1 25 0

随机推荐

  • Unity3d 物体速度、运动的控制——Input.GetAxis、transform.Translate、transform.Rotate、AddForce

    首先介绍Input GetAxis方法 官方文档给出的解释为 Returns the value of the virtual axis identified by axisName 返回根据参数名所指定的虚拟轴上的数值 public st
  • 深入浅出AXI协议(6)——传输属性

    一 前言 在之前的文章中 我们介绍的主要内容是AXI协议的数据读写结构和读写响应结构 主要讲述了当遇到各种特殊情况时 AXI如何完成数据的读写操作 最后介绍了读写响应的4种类型 在本文中 我们将介绍AXI协议的传输属性 二 传输类型与属性
  • 性能测试流程

    参考书籍 软件测试 黑马程序员编著 性能测试与普通的功能测试目标不同 因此其测试流程与普通的测试流程也不相同 虽然性能测试也遵循测试需求分析 测试计划制订 测试用例设计 测试执行 编写测试报告的基本过程 但在实现细节上 性能测试有单独一套流
  • GDAL源码剖析(一)

    转载自 http blog csdn net liminlu0314 article details 6933772 前言 一直在使用和研究GDAL的相关东西 发现网上对GDAL的内容倒是不少 但是很少有系统的介绍说明 以及内部的一些结构说
  • Centos7 交叉编译boost_1_70_0源码 AArch架构

    环境准备 centos7 镜像 下载地址 http mirrors aliyun com centos 7 9 2009 isos x86 64 aarch64交叉编译链 下载地址 https releases linaro org com
  • JS 使用hash算法计算字符串的哈希值

  • DFS遍历框架解决岛屿问题

    补充在开头 这篇题解 是我在做leetcode无意中看到的 原po将此类问题解释的非常清晰 故将其转载并添加上对应题目的解题代码 仅用做个人的学习笔记 不做任何商业用途 引言 我们所熟悉的 DFS 深度优先搜索 问题通常是在树或者图结构上进
  • [UE4笔记] 3DUI空间交互

    在Actor中使用widget的时候制作3DUI 如果直接选择World模式 鼠标和UI是无法产生交互的 只要勾选了红框里的选项 就可以正常交互了 老是忘记 所以写个笔记记录一下 效果 注意 如果你还是点击不到 输入控制台命令showfla
  • 第十题

    第十题 限制元素 修改限制 把3改了即可
  • 【嵌入式基础】串口通信

    目录 1 前言 2 基本概念 2 1 波特率 2 2 起始位 2 3 数据位 2 4 校验位 2 5 停止位 2 6 空闲位 3 工作模式 3 1 单工模式 3 2 半双工模式 3 3 全双工模式 4 同步通信和异步通信 4 1 同步通信
  • 【Mac 教程系列第 18 篇】如何修改 iTerm2 的背景图片

    这是 Mac 教程系列第 18 篇 如果觉得有用的话 欢迎关注专栏 默认终端的效果图是这样的 修改后的效果如下图所示 如果你已经习惯了默认终端的样式 前期看有背景图片的可能会不太适应 不过有时候尝试一下不同的风格 也许会有不同的体验 如何实
  • YOLO5 目标检测

    目录 1项目的克隆和必要的环境依赖 1 1项目的克隆 1 2项目代码结构整体介绍 1 3环境的安装和依赖的安装 2 数据集和预训练权重的准备 2 1利用labelimg标注数据和数据的准备 2 2 获得预训练权重 3训练自己的模型 3 1修
  • TCP详解 (三)Nagle算法和延迟确认

    文章目录 延迟确认 Nagle算法 Nagle算法遇上延迟确认 关闭Nagle算法 一些有关TCP通信量的研究如 Caceresetal 1991 发现 如果按照分组数量计算 约有一半的TCP报文段包含成块数据 如 FTP 电子邮件和 Us
  • unitTest+Ddt数据驱动测试

    我们设计测试用例时 会出现测试步骤一样 只是其中的测试数据有变化的情况 比如测试登录时的账号密码 这个时候 如果我们依然使用一条case一个方法的话 会出现大量的代码冗余 而且效率也会大大降低 此时 ddt模块就能帮助我们解决这个问题 dd
  • 微信王者有ios的服务器吗,王者IOS微信区国服瑶多有钱?凌晨撒4W红包,点开头像傻眼...

    原标题 王者IOS微信区国服瑶多有钱 凌晨撒4W红包 点开头像傻眼 大家好 在王者荣耀这款游戏里面 有一个英雄的地位是非常特殊的 那就是被女玩家们所深爱着的瑶 但她又被男玩家所厌恶 毕竟女玩家和男玩家玩游戏的目的不一样 女玩家是为了快乐 她
  • 深度讲解一下远程控制软件哪家好?推荐一款免费不限速的好软件给大家!

    小编今天要推荐一款较为小众的远程控制软件 通过远程桌面可以极大地方便我们进行远程技术支持 远程办公 然而我们熟知 QQ 远程 windows自带的远程协助 使用起来并不理想 不是连接不顺畅就是操作技术高 相比之下 专门的远程桌面软件的体验更
  • NumPy 学习笔记(二):NDArray

    导入 NumPy 开始学习 import numpy as np 不用 Python 非好汉 不晓 NumPy 真遗憾 本专栏 将使用 图解 以及 脑图 的方法来记录我的 图解 NumPy 学习笔记 NumPy 是 Numerical Py
  • 悟空crm-0.5.4 (OpenLogic CentOS7.2)

    平台 CentOS 类型 虚拟机镜像 软件包 5kcrm0 5 4 centos7 2 lamp stack 5 6 22 commercial crm lamp 服务优惠价 按服务商许可协议 云服务器费用 查看费用 立即部署 产品详情 产
  • ValueError: not enough values to unpack (expected 2, got 1)错误解决方案

    在学习python时 遇到了错误 现已解决 源代码如下 role line spoken each line split 1 错误如下 ValueError not enough values to unpack expected 2 go
  • 搜索服务应用:solr的使用

    开始前 环境 solr4 10 3 jdk1 7 tomcat7 下载地址 http archive apache org dist lucene solr 说明 solr和lucen更新是同步的 请配对使用 lucene用什么版本solr