1、下载solr

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

  该地址可以也可以下载以前的版本,我这边下载的solr-8.0.0.zip版本。下载完成之后放在的D:\project目录下,然后解压到当前目录。

2、启动、关闭solr

  在解压之后的solr目录中找到bin文件夹,进去之后右键进入Powershell输入以下命令:

启动 .\solr start
关闭 .\solr stop -all

3、创建core

  在solr目录中的\server\solr文件夹中创建一个core文件夹,我这边文件夹名称叫做xjxcc。然后把\server\solr\configsets\sample_techproducts_configs下面的conf文件夹复制到刚才创建的core文件夹下面。

  完成上面操作之后启动solr,启动成功之后打开浏览器进入http://127.0.0.1:8983/solr/#/地址,就可以看见solr的管理界面。点击左侧的Core Admin,在新页面的name和instanceDir输入框中分别修改为刚才创建的core文件夹名称(我这里是xjxcc),然后点击下面Add Core按钮即可成功创建core(本来截了一张操作图,结果CSDN上传图片报未知错误)。

  创建成功之后,会在你刚才创建的core文件夹下面生成一个文件夹和一个文件,这样即表示创建成功。

4、创建springboot项目和测试代码

  怎么创建springboot项目就不说了,下面贴上主要文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.xjxcc</groupId>
<artifactId>solrTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging> <name>solrTest</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath />
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency> <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

server:
context-path: /
port: 9633
spring:
data:
solr:
#后面这个xjxcc就是core文件夹的名称,这里也可以不用写这个,如果这里不指定core,那么在代码中使用的时候,就需要指定core。
#代码中可以指定core的地方有注释可以看
host: http://127.0.0.1:8983/solr/xjxcc
@EnableSwagger2
@RestController
@RequestMapping("/")
public class SolrController { @Autowired
private SolrClient client; @PostMapping("/insert")
public String insert(String content) throws IOException, SolrServerException {
try {
String idStr = String.valueOf(System.currentTimeMillis());
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", idStr);
doc.setField("name", content); client.add(doc);//如果配置文件中没有指定core,这个方法的第一个参数就需要指定core名称,比如client.add("xjxcc", doc);
client.commit();//如果配置文件中没有指定core,这个方法的第一个参数就需要指定core名称client.commit("xjxcc");
return idStr;
} catch (Exception e) {
e.printStackTrace();
}
return "error";
}
}

  然后启动该项目之后,进入http://localhost:9633/swagger-ui.html地址即可测试插入索引操作。插入成功之后,在solr管理界面的左下方有一个下拉框,选择你创建的core之后,再选择Query,往下拖到最后,点击Execute Query即可看见你刚才插入的索引。

其他问题:

  刚才我们代码中插入了两个列(id、name),如果你想新增一个列,比如名称叫做zhangsan,然后启动项目,在插入索引,在solr管理平台中就看不见这个列名和列对应的值,原因是id、name这两列在solr中已经默认配置了。这种情况解决方式如下:

  在你创建的core文件夹下面,打开conf文件夹,修改里面的managed-schema文件,修改地点如下:

132行后面增加(后面这几行随意位置增加就可以)
<field name="zhangsan" type="text_general" indexed="true" stored="true"/> 245行后面增加(后面这几行随意位置增加就可以)
<copyField source="zhangsan" dest="text"/>

  修改完成之后重启solr,然后重新插入索引就可以成功操作了。

solr8.0.0基本安装和在springboot中的基本使用(win10)的更多相关文章

  1. SpringBoot启动使用elasticsearch启动异常:Received message from unsupported version:[2.0.0] minimal compatible

    SpringBoot启动使用elasticsearch启动异常:Received message from unsupported version:[2.0.0] minimal compatible ...

  2. 安装MYSQL详细教程 版本:mysql-installer-community-5.7.16.0 免安装版本和安装版本出现错误的解决

    一.版本的选择 之前安装的Mysql,现在才来总结,好像有点晚,后台换系统了,现在从新装上Mysql,感觉好多坑,我是来踩坑,大家看到坑就别跳了,这样可以省点安装时间,这个折腾了两天,安装了好多个版本 ...

  3. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  4. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  5. elasticsearch5.0.0 安装插件及配置过程

    elasticsearch5.0.0 安装插件及配置过程 由于es5.0是里程碑式的更新,所以很多变化的地方,暂时我就插件安装遇到的问题记录一下. 插件安装命令 2.3版本的安装命令 安装Marvel ...

  6. Linux(RHEL7.0)下安装nginx-1.10.2

    查看当前系统版本是否支持 当前,nginx发布包支持以下Linux操作系统版本: RHEL/CentOS: Version Supported Platforms 5.x x86_64, i386 6 ...

  7. Windows下VTK6.0.0安装详解(CMake使用说明)

    操作系统:Windows7,用到工具:Visual studio.CMake. 1.准备工作 VTK下载: 下载最新VTK稳定版(6.0.0,截至2013年7月)http://www.vtk.org/ ...

  8. DNX SDK版本 “dnx-clr-win-x86.1.0.0-beta5”无法安装

    打开VS2015,出现 “DNX SDK版本 “dnx-clr-win-x86.1.0.0-beta5”无法安装,该解决方案将对此会话使用DNX SDK版本“dnx-clr-win-x86.1.0.0 ...

  9. CentOS 7.0 Nvidia显卡安装步骤

    from: http://blog.sina.com.cn/s/blog_49c0985a0102v3fa.html CentOS 7.0 Nvidia显卡安装步骤: 1 在英伟达官网下载相应驱动 搜 ...

随机推荐

  1. Docker基本使用运行ngix镜像

    docker pull 项目名 会从docker默认的仓库去拉去项目,如果是docker pull 项目名 地址 会从给定地址拉去镜像 docker run image名字  运行镜像 docker架 ...

  2. RTL8711AM

    官方文档主要修改 为了实现log服务 1,在log_service.h 取消注释 #ifndef LOG_SERVICE_H #define LOG_SERVICE_H #include " ...

  3. R 《回归分析与线性统计模型》page164 单变量、多变量多项式模型

    --多项式回归模型 --单变量多项式模型 --多变量多项式模型 rm(list = ls()) library(openxlsx) library(leaps) #单变量多项式模型# data = r ...

  4. 数学软件实训1-MATLAB程序设计及应用初步

    数学软件实训任务一 一 题目:MATLAB程序设计及应用初步 二 目的:掌握MATLAB程序设计的基本方法,会利用MATLAB程序设计思想编程处理一些简单问题. 三 要求: 1 掌握控制流的基本语法结 ...

  5. MongoDB首次启动常见问题

    问题1. exception in initandlisten 29 data directory /data/db not found 问题:MongoDB默认存储路径为/data/db,这里显示没 ...

  6. ELK之 elasticsearch ES集群 head安装

    最近项目用到 jenkins  ELK  也在一次重新学习了一次  jenkins 不用说了 玩得就是  插件   +  base---shell ,  ELK  这几年最流得log收集平台,当然不止 ...

  7. POJ - 2456 Aggressive cows(二分+贪心)

    题意:把c个牛分进n个摊位,摊位位置已知,所有摊位分布在0 <= xi <= 1,000,000,000,问两头牛间最小距离的最大值. 分析:找所有最小距离取个最大的.所以二分找这个最小的 ...

  8. VS2012 ffmpeg 没有定义的lrint

    在common.h #ifndef AVUTIL_COMMON_H#define AVUTIL_COMMON_H下添加 #define lrint(f) (f>=0?(int32_t)(f+(d ...

  9. JD-Store购物网站复盘——20170312

    一.商店技术架构 1.主题 2.涉及技术点: 3.核心业务功能 4.角色 5.用户故事 二.实现步骤 专案基础设施 上传图片模块 购物车 订单 支付&寄信 专案源码 三.第三方服务应用 支付 ...

  10. Codeforces 460C 二分结果+线段树维护

    发现最近碰到好多次二分结果的题目,上次多校也是,被我很机智的快速过了,这个思想确实非常不错.在正面求比较难处理的时候,二分结果再判断是否有效往往柳暗花明. 这个题目给定n个数字的序列,可以操作m次,每 ...