关键词:
文章目录
Springboot 整合 elasticsearch
1. 创建es模块
2. 在es的模块下引入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
PS: 改版本对应的es是 6.4.3, 故我们集群ES的配置需要下调为 6.4.3. (或者提升这里的版本)
3. 创建 yml 配置文件
spring:
datasource: # 数据源的相关配置
type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP
driver-class-name: com.mysql.jdbc.Driver # mysql驱动
url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
username: root
password: 210374520
data:
elasticsearch:
cluster-nodes: 192.168.92.148:9300 # PS:后端对接的接口号为9300, es为9200
cluster-name: es6
4. 创建启动类
package com.beyond;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application
public static void main(String[] args)
SpringApplication.run(Application.class,args);
5. 运行报错 (是由于无netty配置引起的错误)
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'elasticsearchClient' defined in class path resource
[org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchAutoConfiguration.class]:
Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.elasticsearch.client.transport.TransportClient]:
Factory method 'elasticsearchClient' threw exception;
nested exception is java.lang.IllegalStateException:
availableProcessors is already set to [4], rejecting [4]
6. 解决该问题
创建ESConfig类
package com.beyond;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
public class ESConfig
/**
* 解决netty引起的issue
*/
@PostConstruct
void init()
System.setProperty("es.set.netty.runtime.available.processors", "false");
架构师成长记_第八周_06_es-文档的基本操作
文章目录ES-文档的基本操作:添加文档与自动映射1.添加文档2.添加多个文档ES-文档的基本操作:添加文档与自动映射1.添加文档2.添加多个文档 查看详情
架构师成长记_第八周_17_es-深度分页
ES-深度分页PS:因为使用from+size的方式只可以搜索小于等于10000的数据,这个是ES做的一个性能防护,防止用户搜索过深而导致的系统性能下降.1.查看深度分页设置2.修改深度分页设置,提升搜索量3.再次搜索之前的9999的分类搜索量 查看详情
架构师成长记_第八周_18_es-批量查询(代码片段)
文章目录ES-批量查询1.之前使用的批量查询方式2.使用_mget进行批量查询3.二者的区别ES-批量查询1.之前使用的批量查询方式GET:http://192.168.92.140:9200/shop/_doc/_search"query":"ids":"type":"_doc","values":["100 查看详情
架构师成长记_第八周_18_es-批量查询(代码片段)
文章目录ES-批量查询1.之前使用的批量查询方式2.使用_mget进行批量查询3.二者的区别ES-批量查询1.之前使用的批量查询方式GET:http://192.168.92.140:9200/shop/_doc/_search"query":"ids":"type":"_doc","values":["100 查看详情
架构师成长记_第八周_18_es-滚动搜索(代码片段)
ES-滚动搜索PS:滚动搜索是基于快照的方式,所以在搜索的时候,如果用户进行更新数据,数据是不会被滚动搜索加载到的.1.首次滚动搜索.POST:http://192.168.92.140:9200/shop/_search?scroll=1m"query":"match_all":,"sort":["_doc"... 查看详情
架构师成长记_第八周_18_es-滚动搜索(代码片段)
ES-滚动搜索PS:滚动搜索是基于快照的方式,所以在搜索的时候,如果用户进行更新数据,数据是不会被滚动搜索加载到的.1.首次滚动搜索.POST:http://192.168.92.140:9200/shop/_search?scroll=1m"query":"match_all":,"sort":["_doc"... 查看详情
架构师成长记_第八周_20_elasticsearch集群构建(代码片段)
文章目录Elasticsearch集群构建1.先进行克隆三台服务器2.搭建es集群2.1分别对三台服务器(es01,es02,es03)做如下操作2.2操作三台服务器(es01,es02,es03节点)3.查看配置信息`moreelasticsearch.yml|grep^[^#]`4.启动ES集群Elasticsearch集群构建1.先进... 查看详情
架构师成长记_第八周_20_elasticsearch集群构建(代码片段)
文章目录Elasticsearch集群构建1.先进行克隆三台服务器2.搭建es集群2.1分别对三台服务器(es01,es02,es03)做如下操作2.2操作三台服务器(es01,es02,es03节点)3.查看配置信息`moreelasticsearch.yml|grep^[^#]`4.启动ES集群Elasticsearch集群构建1.先进... 查看详情
架构师成长记_第八周_22_logstash数据同步(代码片段)
文章目录1.logstash简介PS:2.logstash安装2.1(前提是安装好jdk)上传logstash,mysql驱动2.2logstash同步配置2.3启动logstashPS:1.logstash简介Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起... 查看详情
架构师成长记_第八周_05_mappings自定义创建映射(代码片段)
文章目录mappings自定义创建映射1.创建索引如下2.测试我们的索引是否可以分词(标准分词器不识别中文)进行内容分析3.为该索引新增数据类型1.新增id和age字段(long类型和integer类型,==没有int哦==)2.新增money1和money2字段(dou... 查看详情
架构师成长记_第八周_19_es-批量操作bulk(代码片段)
文章目录ES-批量操作bulk1.bulk之create(批量新增)1.1第一种写法1.2第二种写法PS:批量新增注意:2.bulk之index(覆盖新增)3.bulk之update(批量更新)4.bulk之delete(批量删除)5.bulk之批量操作综合PS:ES-批量操作bulk1.bulk之create(批量新增)1.1第一种写法... 查看详情
架构师成长记_第八周_19_es-批量操作bulk(代码片段)
文章目录ES-批量操作bulk1.bulk之create(批量新增)1.1第一种写法1.2第二种写法PS:批量新增注意:2.bulk之index(覆盖新增)3.bulk之update(批量更新)4.bulk之delete(批量删除)5.bulk之批量操作综合PS:ES-批量操作bulk1.bulk之create(批量新增)1.1第一种写法... 查看详情
架构师成长记_第八周_08_es-文档的基本操作(代码片段)
文章目录ES-文档的基本操作:查询方式一:根据_id进行查询方式二:_serach查询所有记录方式三:定制查询某些字段方式四:查询该索引下所有字段的定制的字段高效查询某个文档是否存在(这里只占用了87B传输大小)ES-文档的基本操作:查... 查看详情
架构师成长记_第八周_01_分布式搜索引擎elasticsearch快速入门(代码片段)
文章目录分布式搜索引擎ElasticSearch快速入门1.搜索引擎的对比(LucenevsSolrvsElasticsearch)1.1Lucene1.2Solr1.3Elasticsearch([官网描述](https://www.elastic.co/cn/what-is/elasticsearch))2.ES核心术语2.1索引库index(相当于数据库中的表)2.2类型type(相当于数据 查看详情
架构师成长记_第八周_07_es-文档的基本操作(代码片段)
文章目录ES-文档的基本操作:新增与修改1.删除2.修改方式一:局部修改方式二:全量修改3.证明删除操作不是物理删除ES-文档的基本操作:新增与修改1.删除数据库中是根据主键进行删除,ES中也是一样,他可以根据我们的_id进行操作.这... 查看详情
架构师成长记_第八周_10_es-分词与五种内置分词器(代码片段)
文章目录ES-分词PS:1.全局分析方式(_analyze)2.指定字段分析方式(索引名/_analyze)ES-五种内置分词器介绍1标准分词器standard2非字母分词器simple3空格拆分分词器whitespace4智能化分词器(会去掉英文中无意义的词a/an/is/the等)stop5关键字分词... 查看详情
架构师成长记_第八周_02_centos安装分布式搜索引擎elasticsearch(代码片段)
文章目录ElasticSearch安装1.上传elasticsearch包到我们的centos(我这里是140节点)2.解压并且移动elasticsearch文件夹3.进入elasticsearch进行配置4.由于root用户不能使用ES,所以需要创建一个新的用户来使用ES5.运行启动ES6.测试,浏览器访问7.由于e... 查看详情
架构师成长记_第八周_13_dsl搜索-查询所有内容与分页查询(代码片段)
文章目录DSL查询所有内容与分页查询1.DSL查询所有内容2.DSL查询部分字段内容2.DSL查询进行分页查询前7条数据查询第10条之后的10条数据DSL查询所有内容与分页查询1.DSL查询所有内容"query":"match_all":2.DSL查询部分字段内容... 查看详情