看到标题的那一串英文,对于新手来说一定比较陌生,而说起检索,应该都知道吧。

  这个ElasticSearch目前我们的首选,他主要有可以提供快速的存储、搜索、分析海量数据的作用。他是一个分布式搜索服务,提供了Restful API,底层基于Lucene(一个开源的搜索引擎工具包),使用shard的分片方式保证数据安全,且有自动resharding功能。我们知道的github、维基百科等这类网站,都是采用这个服务的。

elasticsearch的安装

  这里在使用前还要说明一点,很重要的:elasticsearch默认占用2G的堆内存空间,一般直接启用的话,一定会报错,所以我们还要做相应的处理才可以。

  1)、首先是使用docker拉取该容器

docker pull elasticsearch// 若拉取较慢,可以使用国内的docker加速docker pull registry.docker-cn.com/library/elasticsearch

  2)、启动镜像(限制内存占用的启动,9200是该引擎常用端口,9300是作为分布式使用时,各个节点的通信端口)

docker run -e ES_JAVA_OPTS="-Xms256m -Xms256m" -d -p 9200:9200 -p 9300:9300 --name ES_01 73e6fdf8bd4f

  3)、检查一下,是否启动成功了,浏览器中键入 你服务器的ip:9200,打开以后是这样的,表示成功了~:(不要在意这个炫酷的json格式,是浏览器插件~)

  

elasticsearch的测试

  1)、首先我们来看下官方文档(放心,中文的!):https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

  这里有最简单实用的安装和使用方法。我们先打开一个简单的示例,试一下:

  按照这份文档,我们使用postman或jmeter等接口的工具来测试一下吧:

  按照文档,我们使用put参数,地址格式: 服务器ip:9200/索引名称/类型名称/文件id  。可见创建成功了,返回了true。
  将 HTTP 命令由 PUT 改为 GET 可以用来检索文档,同样的,可以使用 DELETE 命令来删除文档,以及使用 HEAD 指令来检查文档是否存在。如果想更新已存在的文档,只需再次 PUT 。

  整合到springboot中

  好的,我们看看如何把这个整合到springboot中吧。(另外注意下:我们的springboot的版本尽量在2.0+,这样你安装的elasticsearch的版本才能匹配到,不然运行的时候会有链接报错)

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>

  SpringBoot默认支持两种技术与ES进行交互:Jest和SpringData ElasticSearch,而默认Jest是不生效的,想要使用,就要自己加载jest的jar包了。本文不做相关介绍,后边有需求,我可以单独补一篇文章。这里主要来说一下SpringData ElasticSearch的使用。

  1)、首先我们启动主程序之前要添加一下的配置参数,然后直接启动主程序,看看是否可以正常运行。

spring.data.elasticsearch.cluster-name=elasticsearch  #这里在浏览器中输入 服务器id:9200 就可以看到这个name是什么了
spring.data.elasticsearch.cluster-nodes=127.0.0.1:9300  #这里写的是 服务器id:9300

  我们看到启动正常,并且add添加了这个9300的端口启动信息。

  2)、接下来我们按照官网文档的两种写法,进行测试:

    1.编写一个ElasticSearchRepository(有需要增删改查的后边自己补吧),一个需要用到的Book(注意注解的使用)。

import org.springframework.data.elasticsearch.annotations.Document;@Document(indexName = "oooodin", type = "book")
public class Book {private Integer id;private String bookName;private String author;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}@Overridepublic String toString() {return "Book{" +"id=" + id +", bookName='" + bookName + '\'' +", author='" + author + '\'' +'}';}
}

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;public interface BookRepository extends ElasticsearchRepository<Book, Integer> {
}

  然后来测试一下看看(创建一个测试类):

@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTest {@AutowiredBookRepository bookRepository;@Testpublic void test01() {Book book = new Book();book.setId(1);book.setBookName("晋升");book.setAuthor("ice");bookRepository.index(book);}}

  然后我们通过浏览器访问一下:

  服务器ip:9300 就可以访问看到我们添加的内容了。

转载于:https://www.cnblogs.com/iceb/p/9517659.html

SpringBoot日记——ElasticSearch全文检索相关推荐

  1. SpringBoot 整合ElasticSearch全文检索

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并作为Apa ...

  2. 【SpringBoot高级篇】SpringBoot集成Elasticsearch搜索引擎

    [SpringBoot高级篇]SpringBoot集成Elasticsearch搜索引擎 1. 什么是Elasticsearch? 2. 安装并运行Elasticsearch 2.1 拉取镜像 2.2 ...

  3. SpringBoot与ElasticSearch、ActiveMQ、RocketMQ的整合及多环境配置、响应式框架WebFlux、服务器端主动推送SSE技术、生产环境部署、Actuator监控平台

    1.SpringBoot 与 ElasticSearch 框架的整合 (1)主要的搜索框架:MySQL.Solr.ElasticSearch MySQL:使用 like 进行模糊查询,存在性能问题 S ...

  4. springboot——集成elasticsearch进行搜索并高亮关键词

    目录 1.elasticsearch概述 3.springboot集成elasticsearch 4.实现搜索并高亮关键词 1.elasticsearch概述 (1)是什么: Elasticsearc ...

  5. 自学笔记-SpringBoot集成ElasticSearch

    目录 一.ElasticSearch介绍: 二.ElasticSearch安装: 三.Kibana的安装 四.配置ik分词器 五.Springboot集成ElasticSearch Ⅰ.依赖 Ⅱ.配置 ...

  6. ElasticSearch——全文检索

    ElasticSearch--全文检索 来源[尚硅谷]-<谷粒商城高级篇> 一.简介 官网:https://www.elastic.co/cn/what-is/elasticsearch ...

  7. 微服务商城系统(六)商品搜索 SpringBoot 整合 Elasticsearch

    文章目录 一.Elasticsearch 和 IK 分词器的安装 二.Kibana 使用 三.数据导入 Elasticsearch 1.SpringData Elasticsearch 介绍 2.搜索 ...

  8. ElasticSearch - 全文检索服务 - RestHightLevel版

    Author:Allen_Huang Version:1.0.0 ElasticSearch - 全文检索服务 - RestHightLevel版本 文章目录 ElasticSearch - 全文检索 ...

  9. java-web系列(九)---SpringBoot整合ElasticSearch

    前言 这个项目的github地址:extensible项目的github地址 extensible项目当前功能模块如下: java-web系列(一)-搭建一个基于SSM框架的java-web项目 ja ...

最新文章

  1. 大叔也说Xamarin~Android篇~原生登陆与WebView的网站如何共享Session
  2. Linux :debian(ubuntu)下安装和使用haskell
  3. python字符串endswith,Python字符串| 具有示例的endswith()方法
  4. 基于ZooKeeper的Dubbo注册中心【转】
  5. 小程序解码时 php 7.0以上 mcrypt拓展无法使用 旧版本的解密解决方案 新版本在另外一篇文章
  6. 特斯拉、华为等竞争升级,国产芯片实现突破,自动驾驶过去这一年
  7. MATLAB学习笔记之chirp信号的产生
  8. 2012 ServerStandardEval 激活
  9. 51单片机电路原理图_51单片机入门(第1篇):纯干货,单片机最小系统
  10. 服务器fps不稳定,FPS不稳定是什么原因?玩游戏FPS低怎么办?
  11. python 输出后面多一个None
  12. oracle18c安装教程6,Oracle 18c rpm 安装及解析安装过程
  13. 基于java网上体育用品商城系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  14. python实现最小二乘拟合函数(选择三种不同基函数,基函数可改变)
  15. 语音模块:pyttsx变声项目
  16. 手机内置摄像头接线图解_坚果R2 手机官方壁纸
  17. matlab菜单栏中的Revolve,NURBS matlab工具箱
  18. R语言epiDisplay包cox.display函数获取cox回归模型汇总统计信息(风险率HR、调整风险率及其置信区间、模型系数t检验的p值、Wald检验的p值和似然比检验的p值)、保存结果到csv
  19. ESP32实验-自建web服务器配网01
  20. 惊艳爆了,这是我见过的最美Redis客户端

热门文章

  1. [置顶] WindowsPhone之我见
  2. java学习与总结:反射及动态代理
  3. 全国各地区最低工资标准情况(截至2020年3月31日)
  4. 全网最全数据分析师干货-python篇
  5. send(),recv()函数详解
  6. linux ls mv,Linux基本命令总结一(ls,cp,rm,mv,mkdir,rmdir,cd)
  7. jquery控制只监听数字_JQuery通过一个开关来控制某个元素的监听
  8. 服务中没有listen_Go语言微服务框架实战:2.Go语言实现RPC编程绍
  9. 下面关于微型计算机控制技术的叙述,(微型计算机控制技术选择题.docx
  10. layui前端页面table表格怎么格式化转换时间_前端开发面经知识点总结