solr的安装配置,以及使用程序插入与查询

2023-11-07

之前看了一下solr,在本地配置了一下,记录下来。
首先去官网下载solr,直接下载zip包即可。目前最新的是 solr-6.2.0 。下载完成后解压。

1 、启动solr

官方wiki写的很详细。在bin目录下,直接使用 solr start 即可启动,不加参数默认使用8983端口。
若想指定端口,则可通过 -p 参数指定端口。

solr start

$ bin/solr start -p 8984

这里写图片描述

启动成功。

2、访问solr控制台

地址:http://localhost:8983/solr
进入solr的控制台。
solr的工作核心名词为core,可以理解成数据库的表。 每个core都有自己的schema,可对应理解为数据库的字段。
控制台如下图所示。
当前是没有core文件的,需要我们自己配置。
这里写图片描述

3、配置core

配置我们自己的core。
在控制台的左边菜单中,选择Core Admin,进入core新建页面。
在点击Add Core 保存之前, 先进入solr的安装目录的 server - solr 下 新建一个和core同名的文件夹,如:
进入E:\DevelopEnvironment\solr\solr-6.2.0\server\solr 新建 democore 。
文件夹建好后,进入solr目录的 server\solr\configsets\basic_configs 下,拷贝conf文件夹到新建的文件夹下
如:进入E:\DevelopEnvironment\solr\solr-6.2.0\server\solr\configsets\basic_configs 拷贝conf文件夹到刚刚新建的democore
这里写图片描述

完成这一步准备工作后,回到控制台的Core Admin 录入name和dir 点击 Add Core 保存即可
这里写图片描述

保存完成后,可看到该core:
这里写图片描述
对应的文件夹内容也改变为:
这里写图片描述

4、新建schema

core文件创建完成后,创建其对应的schema。
进入该core的Schema 菜单 ,点击Add Field ,在弹出的页面中,录入name和type,name代表字段的名称,type为类型 ,类型选择 text_general。 stored 意思为,将该字段的值进行存储,用来以后索引的时候直接取出。indexed 表示 将该字段进行索引。
这里写图片描述
录入完成后,点击Add Field保存即可。

至此,core和schema都构建完成。接下来要向solr的这个core插入数据。

5、使用程序插入数据

新建java项目,将solr的对应jar包拷贝到项目中。
使用到的jar包在 dist 文件夹下,主要包括 solrj这个jar包和solr-lib下的jar包,为了方便,直接全部拷贝过去即可。
如:E:\DevelopEnvironment\solr\solr-6.2.0\dist\solr-solrj-6.2.0 和
E:\DevelopEnvironment\solr\solr-6.2.0\dist\solrj-lib
这里写图片描述

在官方的wiki中,介绍了如何使用solrj 访问solr服务。wiki地址为:
wiki

对应代码为:

        HttpSolrClient.Builder builder = new    HttpSolrClient.Builder("http://localhost:8983/solr/democore");
        HttpSolrClient solrClient = builder.build();
        SolrInputDocument document = new SolrInputDocument();
        document.addField("id", System.currentTimeMillis() + "");
        document.addField("title", "计算机科学与技术" + System.currentTimeMillis());
        solrClient.add(document);
        solrClient.commit();
        solrClient.close();

6、查询数据

可使用solr的控制台查询,也可以使用程序查询。

输入关键字 “计算机” 可查询到对应数据。如图:

这里写图片描述

输入关键字: “计科” ,也可以查询到对应数据。如图:
这里写图片描述

证明solr插入数据成功。

使用solrj查询,根据官方wiki的例子,代码如下:


        HttpSolrClient.Builder builder = new HttpSolrClient.Builder("http://localhost:8983/solr/democore");
        HttpSolrClient solrClient = builder.build();
        SolrQuery query = new SolrQuery();
        query.set("q", "title:计科");
        QueryResponse response = solrClient.query(query);
        SolrDocumentList list = response.getResults();
        solrClient.commit();
        System.err.println("匹配数量:"+list.getNumFound());
        Iterator itr = list.iterator();
        while (itr.hasNext()) {
            SolrDocument solrDocument = (SolrDocument) itr.next();
            List title = (List) solrDocument.getFieldValue("title");
            System.err.println(title.get(0));
        }

运行结果:
这里写图片描述

至此,全部完成。上述只是最基本的使用配置,对于中文的分词还是停留在最原始的每个中文都当作一个词汇的分词算法上。这是比较暴力不可取的,需要替换对应的中文分词器。

常用的几个命令:
启动:

solr start

指定端口启动:

solr start -p 8984

停止solr:

solr stop -p 8983

删除指定的core文件

solr delete -c corename

创建core

solr create -c corename

solr状态查看

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

solr的安装配置,以及使用程序插入与查询 的相关文章

随机推荐

  • react实现Modal弹窗

    一 Dialog js文件 import React useMemo useEffect useState from react import ReactDOM from react dom 需要把元素渲染到组件之外 用 createPor
  • git通过http的方式下载和提交代码

    之前一直用git的SSH方式下载代码 唯一的缺点可能就是需要建立SSH秘钥 需要额外生成一个密钥 然后在下载和提交代码的时候都需要输入秘钥 才能操作 时间长了可能就忘了密码 今天在做项目提交的时候就出现了这种情况 密码怎么试都不对 于是弃用
  • 理解不同加密币的要点(一)—— 共识机制

    一 加密货币分类 一 价值层面 与实体资产绑定的代币 为了因应市场需求而生 与实体资产做挂钩的代币 也就是我们说的稳定币 例如与美元做挂钩的USDT TUSD PAX与USDC等 仰赖网络共识的代币 代币价值仰赖网路上市场共识的代币 基本上
  • Java使用流去除集合中某个字段为空的对象

    文章目录 0 写在前面 1 情景复刻 2 解决方案 3 写在最后 0 写在前面 最近写了一些业务逻辑 调试的时候总会报空指针异常 Java中空指针异常是危险恐怖分子 最好不要碰见他 所以有些时候 处理集合中的数据时 特定情况下需要略过一些数
  • python在两行中分别输入一个字符串s和整数n,定义一个函数将字符串s循环向右移动n位

    解题思路 将字符串转为列表处理 123456 1 2 3 4 5 6 将列表重复两遍 1 2 3 4 5 6 1 2 3 4 5 6 删去前面和后面多余的数字即可 4 5 6 1 2 3 4 5 6 4 5 6 1 2 3 问题描述 在两行
  • MySQL修改和删除索引(DROP INDEX)

    在 MySQL 中修改索引可以通过删除原索引 再根据需要创建一个同名的索引 从而实现修改索引的操作 基本语法 当不再需要索引时 可以使用 DROP INDEX 语句或 ALTER TABLE 语句来对索引进行删除 1 使用 DROP IND
  • 小智AI chatgpt的功能是什么

    ChatGPT是一种基于GPT 3 5架构的大型语言模型 由OpenAI开发 它是一种聊天机器人 能够回答各种问题 提供有用的信息和娱乐 ChatGPT的工作原理非常简单 当用户输入问题或话题时 ChatGPT会自动根据语境和关键字生成响应
  • Idea SpringBoot多模块项目打包血泪史

    本文主要介绍基于Idea的SpringBoot多模块打包中遇到的各种问题以及解决方法 基本概况介绍 小弟之前是用的myeclipse进行的开发 但是在建立多模块的时候却错误的使用了web archtype 然后强转的SpringBoot 在
  • CentOS 6和Centos 7 虚拟机 关闭防火墙

    Centos 7 虚拟机 关闭防火墙 https blog csdn net preserveXing article details 127076756 CentOS 6 防火墙的关闭 关闭其服务即可 查看CentOS防火墙信息 etc
  • CDN的加速原理

    CDN的加速原理是什么 CDN Content Delivery Network 内容分发网络 是构建在现有互联网基础之上的一层智能虚拟网络 通过在网络各处部署节点服务器 实现将源站内容分发至所有CDN节点 使用户可以就近获得所需的内容 C
  • Centos8(7)安装tomcat9以及常见用法

    1 安装jdk tomcat9可以工作在jdk8以上的版本 所以可以安装jdk8或是jdk11 dnf install java 11 openjdk centos8 yum install java 11 openjdk centos7
  • 关于之前封装Sku组件异步获取数据的问题思考

    使用watchEffect来监听父组件传来的goods 为什么我会用watchEffect 起初我的想法是 我需要生成数据字典并且初始化数据这两个函数当中都会用到很多的goods中的数据 如果使用watch监听要设置岂不是很麻烦 但是其实后
  • 轻量级语义分割网络 BiseNetv2学习:手把手教你搭建BiseNetv2(tensorflow2),并在Cityscapes上完成语义分割任务

    轻量级语义分割网络 BiseNetv2学习 手把手教你搭建BiseNetv2 tensorflow2 并在Cityscapes上完成语义分割任务 文章目录 轻量级语义分割网络 BiseNetv2学习 手把手教你搭建BiseNetv2 ten
  • 【Java】【排序算法】【插入排序】(代码示例)

    文章目录 插入排序概念 实现步骤 代码示例 总结 插入排序概念 插入排序 Insertion Sort 是一种简单直观的排序算法 它将数组划分为已排序和未排序两个部分 每次从未排序部分取出一个元素 插入到已排序部分的正确位置 重复这个过程直
  • java的set和map_Java中的Set和Map

    前言 昨天我们学习了集合List 说到了Collection 它是我们就需要一个可变的容器来保存我们需要保存的内容 那么这个容器就是今天我们学习的集合 Collection 的子类Set和新的一个集合Map 1 Set是什么 set 数组
  • 关于Android arm64-v8a、armeabi-v7a、armeabi、x86等CPU下的so文件兼容问题

    先介绍几个专业词 ARM 是嵌入式中的一种架构 全称为Advanced RISC Machine 能够理解为ARM处理器 ABI Application Binary Interface 应用程序二进制接口 描述了应用程序和操做系统之间 一
  • qt程序打包(四)Linux(UOS)系统生成deb包

    一 背景 1 设备 UOS专业版虚拟机 2 程序 qt代码 已经实现抓取依赖库 摆脱qt环境 此步骤参考下面的博文 http t csdn cn Jlq8N 经过这一步 我们得到一个文件夹 这个文件夹里包括 可执行程序 sh脚本 用于寻找和
  • Golang: Cobra命令行参数库的使用

    将cobra下载到 GOPATH 用命令 go get v github com spf13 cobra cobra 然后使用 go install github com spf13 cobra cobra 安装后在 GOBIN 下出现了c
  • Bash 脚本教程 – 适合初学者的 Linux Shell 脚本和命令行

    在 Linux 中 流程自动化严重依赖 shell 脚本 这涉及创建一个包含一系列可以一起执行的命令的文件 在本文中 我们将从 bash 脚本编写的基础知识开始 其中包括变量 命令 输入 输出和调试 我们还将看到每个示例 让我们开始吧 目录
  • solr的安装配置,以及使用程序插入与查询

    之前看了一下solr 在本地配置了一下 记录下来 首先去官网下载solr 直接下载zip包即可 目前最新的是 solr 6 2 0 下载完成后解压 1 启动solr 官方wiki写的很详细 在bin目录下 直接使用 solr start 即