概述

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储(store),还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。Elasticsearch比较传统关系型数据库如下:

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRpNs8ie-1591682765790)(images\1563524454527.png)]

以下表示2个文档(document),3个字段(field)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pj85T3cM-1591682765810)(images\1563524513038.png)]

Elasticsearch核心概念

(1)索引 index

一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。

(2)类型 type

在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台并且将你所有的数据存储到一个索引中。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。

(3)文档 document

一个文档是一个可被索引的基础信息单元。比如,你可以拥有某一个客户的文档,某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以JSON(Javascript Object Notation)格式来表示,而JSON是一个到处存在的互联网数据交互格式。

在一个index/type里面,你可以存储任意多的文档。注意,尽管一个文档,物理上存在于一个索引之中,文档必须被索引/赋予一个索引的type。

(4)字段 Fiel(域)

相当于是数据表的字段,对文档数据根据不同属性进行的分类标识

(5)映射 mapping

mapping是处理数据的方式和规则方面做一些限制,如某个字段的数据类型、默认值、分词器、是否被索引等等,这些都是映射里面可以设置的,其它就是处理es里面数据的一些使用规则设置也叫做映射,按着最优规则处理数据对性能提高很大,因此才需要建立映射,并且需要思考如何建立映射才能对性能更好。

例如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AyBvUDrV-1591682765836)(images\1563524716499.png)]

(6)接近实时 NRT

Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒以内)

(7)集群 cluster

一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群

(8)节点 node

一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的角色的名字,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说挺重要的,因为在这个管理过程中,你会去确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。

一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做“elasticsearch”的集群中。

在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的集群。

(9)分片和复制 shards&replicas

一个索引可以存储超出单个节点硬件限制的大量数据。比如,一个具有10亿文档的索引占据1TB的磁盘空间,而任一节点都没有这样大的磁盘空间;或者单个节点处理搜索请求,响应太慢。为了解决这个问题,Elasticsearch提供了将索引划分成多份的能力,这些份就叫做分片。当你创建一个索引的时候,你可以指定你想要的分片的数量。每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。分片很重要,主要有两方面的原因: 1)允许你水平分割/扩展你的内容容量。 2)允许你在分片(潜在地,位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞吐量。

至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由Elasticsearch管理的,对于作为用户的你来说,这些都是透明的。

在一个网络/云的环境里,失败随时都可能发生,在某个分片/节点不知怎么的就处于离线状态,或者由于任何原因消失了,这种情况下,有一个故障转移机制是非常有用并且是强烈推荐的。为此目的,Elasticsearch允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片,或者直接叫复制。

(后面大家自己看即可)

复制之所以重要,有两个主要原因: 在分片/节点失败的情况下,提供了高可用性。因为这个原因,注意到复制分片从不与原/主要(original/primary)分片置于同一节点上是非常重要的。扩展你的搜索量/吞吐量,因为搜索可以在所有的复制上并行运行。总之,每个索引可以被分成多个分片。一个索引也可以被复制0次(意思是没有复制)或多次。一旦复制了,每个索引就有了主分片(作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。分片和复制的数量可以在索引创建的时候指定。在索引创建之后,你可以在任何时候动态地改变复制的数量,但是你事后不能改变分片的数量。

默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个复制,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个复制分片(1个完全拷贝),这样的话每个索引总共就有10个分片。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H87JGJaD-1591682765842)(images\1563524937637.png)]

下节课我们会一起搭建集群的环境。

单机版,只要1个Elasticsearch的服务:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6eAzowr-1591682765972)(images\1563524982215.png)]

ElasticSearch操作入门

4.1 目标

  • 创建文档(JSON/Map)
  • ES数据搜索

4.2 讲解

4.2.1 工程搭建

(1)创建Maven工程

工程坐标如下:

<groupId>com.itheima</groupId>
<artifactId>elasticsearch-day1-demo1</artifactId>
<version>1.0-SNAPSHOT</version>

(2)pom.xml

<?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.itheima</groupId><artifactId>elasticsearch-day1-demo1</artifactId><version>1.0-SNAPSHOT</version><dependencies><!--ES包--><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>5.6.8</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>transport</artifactId><version>5.6.8</version></dependency><!--日志包--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-to-slf4j</artifactId><version>2.9.1</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.24</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId><version>1.7.21</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><!--测试包--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>
</project>

4.2.2 新建索引+添加文档

使用创建索引(index)+类型(type)+自动创建映射(Elasticsearch帮助我们根据存储的字段自动建立映射,后续讲完分词器后,手动建立映射)

(1)基于jsonBuilder创建索引

创建测试类com.itheima.test.ElasticsearchTest,并在类中创建testCreateIndexJsonDemo1方法,实现创建索引,代码如下:

/**** 组织Document数据(使用ES的api构建json)*/
@Test
public void testCreateIndexJsonDemo1() throws Exception {/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));//构建文档对象XContentBuilder builder = XContentFactory.jsonBuilder().startObject();builder.field("id",1);builder.field("title","ElasticSearch是一个基于Lucene的搜索服务器。");builder.field("content","它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。");builder.endObject();//使用TransportClient对象创建文档client.prepareIndex("blog1","article","1").setSource(builder).get();//关闭资源client.close();
}

访问<http://localhost:9100/>,效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vcE0TW83-1591682765974)(images\1563526646333.png)]

(2)使用Map创建索引

在测试类com.itheima.test.ElasticsearchTest,中创建testCreateIndexMapDemo2方法,实现创建索引,代码如下:

/**** 使用Map创建索引*/
@Test
public void testCreateIndexMapDemo2() throws Exception {/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的TCP通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));//构建文档对象Map<String,Object> map = new HashMap<String,Object>();map.put("id",2);map.put("title","2-ElasticSearch是一个基于Lucene的搜索服务器");map.put("content","2-它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。");//使用TransportClient对象创建文档client.prepareIndex("blog1","article","2").setSource(map).get();//关闭资源client.close();
}

访问<http://localhost:9100/>,效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kipdK6pw-1591682765976)(images\1563526895865.png)]

4.2.3 搜索文档数据

(1)根据ID查询(不走索引)

/**** 根据ID查询*/
@Test
public void testQueyById() throws Exception{/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));//查询数据GetResponse response = client.prepareGet("blog1", "article", "1").get();//获取结果集数据String result = response.getSourceAsString();System.out.println(result);
}

此时直接根据ID查询,不会走索引域,直接根据ID定位数据,执行后结果如下:

{"id":1,"title":"ElasticSearch是一个基于Lucene的搜索服务器。","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"}

(2)查询全部(不走索引)

/**** 查询所有,不走索引*/
@Test
public void testQueryAll() throws Exception{/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));/*** 搜索数据*/SearchResponse response = client.prepareSearch("blog1").setTypes("article").setQuery(QueryBuilders.matchAllQuery())    //设置查询条件,QueryBuilders.matchAllQuery()查询所有.get();//处理结果SearchHits hits = response.getHits();//总记录数long totalHits = hits.getTotalHits();//获取数据结果集Iterator<SearchHit> iterator = hits.iterator();while (iterator.hasNext()){//获取数据SearchHit hit = iterator.next();//获取指定域数据String title = hit.getSource().get("title").toString();//获取所有数据,并转成JSON字符串String result = hit.getSourceAsString();System.out.println(title);System.out.println(result);}
}

查询所有数据,不走索引域,直接获取所有结果记录,控制台输出结果如下:

2-ElasticSearch是一个基于Lucene的搜索服务器
{"id":2,"title":"2-ElasticSearch是一个基于Lucene的搜索服务器","content":"2-它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。"}
ElasticSearch是一个基于Lucene的搜索服务器。
{"id":1,"title":"ElasticSearch是一个基于Lucene的搜索服务器。","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"}

(3)字符串查询

/**** 字符串查询*/
@Test
public void testQueryByString() throws Exception{/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));/*** 搜索数据*/SearchResponse response = client.prepareSearch("blog1").setTypes("article")// 默认在所有的域上进行搜索,搜索“搜索”;如果添加.field("title"):表示只在title域进行搜索.setQuery(QueryBuilders.queryStringQuery("搜索").field("title")).get();//处理结果SearchHits hits = response.getHits();//总记录数long totalHits = hits.getTotalHits();//获取数据结果集Iterator<SearchHit> iterator = hits.iterator();while (iterator.hasNext()){//获取数据SearchHit hit = iterator.next();//获取指定域数据String title = hit.getSource().get("title").toString();//获取所有数据,并转成JSON字符串String result = hit.getSourceAsString();System.out.println(title);System.out.println(result);}
}

此时会走索引域,搜索结果如下:

2-ElasticSearch是一个基于Lucene的搜索服务器
{"id":2,"title":"2-ElasticSearch是一个基于Lucene的搜索服务器","content":"2-它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。"}
ElasticSearch是一个基于Lucene的搜索服务器。
{"id":1,"title":"ElasticSearch是一个基于Lucene的搜索服务器。","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"}

(4)词条搜索

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qaTMxfuK-1591682765978)(images\1563528706353.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTlgb5yb-1591682765981)(images\1563528732820.png)]

/**** 词条查询*/
@Test
public void testQueryByTerm() throws Exception{/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));/*** 搜索数据*/SearchResponse response = client.prepareSearch("blog1").setTypes("article")// 设置查询条件.setQuery(QueryBuilders.termQuery("title","搜索")).get();//处理结果SearchHits hits = response.getHits();//总记录数long totalHits = hits.getTotalHits();//获取数据结果集Iterator<SearchHit> iterator = hits.iterator();while (iterator.hasNext()){//获取数据SearchHit hit = iterator.next();//获取指定域数据String title = hit.getSource().get("title").toString();//获取所有数据,并转成JSON字符串String result = hit.getSourceAsString();System.out.println(title);System.out.println(result);}//关闭资源client.close();
}

搜不到结果:为什么?

(5)模糊查询(通配符查询)

*:表示所有的任意的多个字符组成

?:表示1个任意的字符

/**** 通配符查询*/
@Test
public void testQueryByKeyword() throws Exception{/**** 创建TransportClient对象* Settings:表示集群的设置* EMPTY:表示没有集群的配置* Settings.EMPTY:不使用集群*/TransportClient client = new PreBuiltTransportClient(Settings.EMPTY);/***** 配置链接信息* 127.0.0.1:Elasticsearch的IP地址* 9300:Elasticsearch的通信端口*/client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));/*** 搜索数据*/SearchResponse response = client.prepareSearch("blog1").setTypes("article")// 设置查询条件.setQuery(QueryBuilders.wildcardQuery("title","*搜索*")).get();//处理结果SearchHits hits = response.getHits();//总记录数long totalHits = hits.getTotalHits();//获取数据结果集Iterator<SearchHit> iterator = hits.iterator();while (iterator.hasNext()){//获取数据SearchHit hit = iterator.next();//获取指定域数据String title = hit.getSource().get("title").toString();//获取所有数据,并转成JSON字符串String result = hit.getSourceAsString();System.out.println(title);System.out.println(result);}//关闭资源client.close();
}

搜素不到结果。

词条查询和通配符查询不能查询到数据,为什么呢?

4.2.4 词条总结

词条: 就是将文本内容存入搜索服务器,搜索服务器进行分词之后的最小的词(不能再切分)

例如:“ElasticSearch是一个基于Lucene的搜索服务器”

​ 分词(好的): ElasticSearch、是、一个、基于、Lucene、搜索、服务、服务器

​ 默认单字分词(差的): ElasticSearch、 是、一、个、基、于、搜、索、服、务、器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CnT8YDW6-1591682765984)(images\1563529248784.png)]

4.3 小结

  • 创建文档(JSON/Map)

    创建文档数据有2种方法,一种是JSON方式,另外一种是基于Map方式
    
  • ES数据搜索

    根据ID搜索、搜索全部不走索引
    字符串搜索、词条搜索、通配符搜索走索引
    

5 IK分词器

5.1 目标

  • 能安装IK分词器
  • 会配置扩展词库和停用词库

5.2 讲解

在进行词条查询时,我们搜索"搜索"却没有搜索到数据!

原因:lucene默认是单字分词,在开发中不符合查询的需求,需要定义一个支持中文的分词器。

解决方案:IK分词器

(1)IK分词器简介

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWBCdug2-1591682765986)(images\1563529574529.png)]

(2)ElasticSearch集成IK分词器

1.解压elasticsearch-analysis-ik-2.x后,将文件夹拷贝到elasticsearch-5.6.8\plugins下,并重命名文件夹为ik
2. 重新启动ElasticSearch,即可加载IK分词器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIkNZiiy-1591682765988)(images\1563529668476.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q0H4Wurx-1591682765989)(images\1563529947061.png)]

在使用ik分词器之前:使用rest方式访问elasticsearch的分词效果,默认的分词是standard

http://127.0.0.1:9200/_analyze?analyzer=standard&pretty=true&text=我是中国人 效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lREjT4JR-1591682765991)(images\1563530014018.png)]

(3)IK分词器测试

IK提供了两个分词算法ik_smart(最小切分) 和 ik_max_word(最细切分)

最小切分:在浏览器地址栏输入地址

http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员 效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A13QZvAu-1591682765993)(images\1563530223307.png)]

最细切分:在浏览器地址栏输入地址

http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是程序员 效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nPZx0x5T-1591682765994)(images\1563530282056.png)]

(4)拓展词库

传智播客,默认IK分词是单字分词,想让它做为一个词。

<http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员,来自于传智播客>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A8Txv6SD-1591682766002)(images\1563530523915.png)]

需要配置,IKAnalyzer.cfg.xml:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ExdoF0ja-1591682766005)(images\1563530603310.png)]

配置文件中添加一个ext.dic和stop.dic,如果多个拓展词用逗号分开,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">ext.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stop.dic</entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

ext.dic使用UTF-8编辑

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CZ1Fl2Mr-1591682766007)(images\1563531034889.png)]

stop.dic使用UTF-8编辑

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7FccpfnW-1591682766012)(images\1563531140234.png)]

重启Elasticsearch,再访问测试

<http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员,来自于传智播客>效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aQCIk0vt-1591682766014)(images\1563531349020.png)]

在ElasticSearch没有索引的情况下,插入文档,默认自动创建索引和索引映射是无法使用IK分词器的。

要想让索引库可以使用ik分词器,必须要手动创建映射的配置。如何手动创建映射呢?下回分解。

Java代码手动建立映射(添加ik分词器)(下回分解)

使用restful手动建立映射(添加ik分词器)(一会分解)

6 RESTFul操作索引

6.1 目标

  • 了解什么是RESTFul
  • 会使用Postman工具
  • 能使用Postman工具操作索引

6.2 讲解

6.2.1 RESFFul介绍

什么是restful?

传统方式:

URL                                        服务器上资源
http://localhsot:8080/save                访问的资源save();
http://localhsot:8080/update              访问的资源update();
http://localhsot:8080/delete              访问的资源delete();
http://localhsot:8080/find                访问的资源find();

Restful:表现层状态转移

HTTP的请求状态                URI                                  服务器上资源
Http的协议POST              http://localhsot:8080/list          访问的资源save();
Http的协议PUT               http://localhsot:8080/list          访问的资源update();
Http的协议DELETE            http://localhsot:8080/list          访问的资源delete();
Http的协议GET               http://localhsot:8080/list          访问的资源find();

6.2.2 安装Postman工具

Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的Web API & HTTP 请求调试。软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman中文版能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT,DELETE…),且可以附带任何数量的参数。

下载Postman工具

Postman官网:https://www.getpostman.com

课程资料中已经提供了安装包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mlUEwTk0-1591682766018)(images\1563577458850.png)]

双击安装完成后需要自行注册一个账号,这里就不演示了。

6.2.3 使用Postman工具进行Restful接口访问

ElasticSearch的接口语法

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

案例:

curl -XPUT http://localhost:9200/blog/article/1 -d '{"title": "New version of
Elasticsearch released!", content": "Version 1.0 released today!", "tags": ["announce",
"elasticsearch", "release"] }'

参数解释如下:

参数 解释
VERB 适当的 HTTP 方法谓词 : GET、 POST、 PUT、 HEAD 或者 DELETE。
PROTOCOL http 或者 https(如果你在 Elasticsearch 前面有一个 https 代理)
HOST Elasticsearch 集群中任意节点的主机名,或者用 localhost 代表本地机器上的节点。
PORT 运行 Elasticsearch HTTP 服务的端口号,默认是 9200 。
PATH API 的终端路径(例如 _count 将返回集群中文档数量)。Path 可能包含多个组件,例如:_cluster/stats 和 _nodes/stats/jvm 。
QUERY_STRING 任意可选的查询字符串参数 (例如 ?pretty 将格式化地输出 JSON 返回值,使其更容易阅读)
BODY 一个 JSON 格式的请求体 (如果请求需要的话)

(1)创建映射

请求URL:

PUT     http://localhost:9200/blog2

请求体:

{"mappings": {"article": {"properties": {"id": {"type": "long","store": false,"index":"not_analyzed"},"title": {"type": "text","store": false,"index":"analyzed","analyzer":"ik_smart"},"content": {"type": "text","store": false,"index":"analyzed","analyzer":"ik_smart"}}}}
}

注意:

“analyzer”:“standard”:表示单字分词(默认值)

“analyzer”:“ik_smart”:使用ik分词器(ik的最小切分)

“store”: true:表示是否存储,只有存储到索引库,才能检索到结果(Elasticsearch的默认值flase)

关键字高亮实质上是根据倒排记录中的词项偏移位置,找到关键词,加上前端的高亮代码。这里就要说到store属性,store属性用于指定是否将原始字段写入索引,默认取值为no。如果在Lucene中,高亮功能和store属性是否存储息息相关,因为需要根据偏移位置到原始文档中找到关键字才能加上高亮的片段。在Elasticsearch,因为_source中已经存储了一份原始文档,可以根据_source中的原始文档实现高亮,在索引中再存储原始文档就多余了,所以Elasticsearch默认是把store属性设置为no。

示例如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MFVm3MaB-1591682766023)(images\1563577922202.png)]

Elasticsearch-head

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QFht2Bjm-1591682766025)(images\1563578064426.png)]

(2)删除索引

请求URL

DELETE      http://localhost:9200/blog2

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ca4IXibG-1591682766029)(images\1563578109800.png)]

elasticsearch-head查看:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tJQ4alcB-1591682766031)(images\1563578143367.png)]

(3)创建文档document

把上面的映射重新创建一次,然后再执行创建文档

创建文档URL:

POST    http://localhost:9200/blog2/article/1

请求体数据:

{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够时搜索。"
}

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qpkTuvSu-1591682766036)(images\1563578489298.png)]

elasticsearch-head查看:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghKbviRO-1591682766038)(images\1563578397998.png)]

(4)修改文档对象Document

请求URL:

http://localhost:9200/blog2/article/1

请求体:

{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器-深圳黑马训练营",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够时搜索。"
}

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YQLmkuLj-1591682766041)(images\1563578556279.png)]

elasticsearch-head查看:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItRwBO46-1591682766044)(images\1563578599379.png)]

(5)删除文档Document

请求URL:

DELETE    http://localhost:9200/blog2/article/1

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6HfUznp-1591682766047)(images\1563578689198.png)]

(6)查询文档-根据id查询

请求URL:

GET      http://localhost:9200/blog2/article/1

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DcsgFwyX-1591682766049)(images\1563578777549.png)]

(7)查询文档-querystring查询

请求url:

POST       http://localhost:9200/blog2/article/_search

请求体:

{"query": {"query_string": {"default_field": "title","query": "搜索服务器"}}
}

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C06k4rxD-1591682766055)(images\1563578889289.png)]

(8)查询文档-term查询

请求URL:

POST     http://localhost:9200/blog2/article/_search

请求体:

{"query": {"term": {"title": "搜索"}}
}

Postman如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rBTv0asE-1591682766070)(images\1563578991421.png)]

6.3 小结

  • 了解什么是RESTFul

    RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
    
  • 能使用Postman工具操作索引

    使用Postman可以创建索引映射、删除索引映射、根据ID查询索引数据、删除索引数据、字符串查找数据、词项查找数据等。
    

(img-q6HfUznp-1591682766047)]

(6)查询文档-根据id查询

请求URL:

GET      http://localhost:9200/blog2/article/1

Postman如下:

[外链图片转存中…(img-DcsgFwyX-1591682766049)]

(7)查询文档-querystring查询

请求url:

POST       http://localhost:9200/blog2/article/_search

请求体:

{"query": {"query_string": {"default_field": "title","query": "搜索服务器"}}
}

Postman如下:

[外链图片转存中…(img-C06k4rxD-1591682766055)]

(8)查询文档-term查询

请求URL:

POST     http://localhost:9200/blog2/article/_search

请求体:

{"query": {"term": {"title": "搜索"}}
}

Postman如下:

[外链图片转存中…(img-rBTv0asE-1591682766070)]

6.3 小结

  • 了解什么是RESTFul

    RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
    
  • 能使用Postman工具操作索引

    使用Postman可以创建索引映射、删除索引映射、根据ID查询索引数据、删除索引数据、字符串查找数据、词项查找数据等。
    
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 智慧监狱(所)设计方案

    智慧监狱(所)设计方案针对监狱行业目前普遍存在的问题,浙江大华技术股份有限公司凭借多年监所行业经验和安防技术创新,实现以现代信息技术为支撑,建成覆盖整个司法监管场所的网络互联互通、信息资源共享、标准规范统一、应用功能完备的监管信息化体系。结合当下生物识别技术…...

    2024/4/16 21:31:01
  2. 运维搭建CTFd在线靶场

    CentOS7.2搭建ctfd靶场平台 参考先有一台CentOS7.2无界面的 2核4G内存30G磁盘 然后网络桥接模式配置CentOS7的yum源为阿里的1、安装gityum provides git yum -y install git2、安装pip(有坑)CentOS默认python2.7.5环境,不支持pip [root@localhost ~]# python -V Python 2.7.…...

    2024/4/16 11:23:32
  3. 简书大佬的笔记:一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)

    一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。一图看完本文一、 计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议…...

    2024/4/19 10:50:11
  4. Cache一致性导致的踩内存问题

    本文主要分享一个Cache一致性踩内存问题的定位过程,涉及到的知识点包括:backtrace、内存分析、efence、wrap系统函数、硬件watchpoint、DMA、Cache一致性等。 1 背景 设备上跑的是嵌入式实时操作系统(RTOS,具体为商业闭源的ThreadX),非Linux平台,导致一些常见的问题排查方…...

    2024/4/24 12:06:05
  5. linux基础服务(DHCP)

    DHCP篇 文章目录DHCP篇DHCP是什么DHCP工作原理DHCP三种分配机制搭建DHCP DHCP是什么 DHCP,动态主机配置协议(Dynamic host configuration protocol),是一个局域网络协议,使用的是UDP协议工作,是给内部局域网或者网络供应商自动分配IP地址,是给用户或者内部网络的网管来作为…...

    2024/4/24 12:06:06
  6. 你了解Kotlin的let,with,run,apply,also关键函数的区别吗?

    前言: 成和败要努力尝试,人若有志应该不怕迟。一、概述Kotlin提供了不少比Java高级的语法,在Kotlin标准库中(Standard.kt)提供了一些Kotlin拓展的内置函数,可以优化编码。Standard.kt是Kotlin库的一部分,它定义了一些基本函数,功能非常强大。 1.1 Kotlin回调函数的优化 K…...

    2024/4/28 16:15:47
  7. 外贸企业邮箱如何选择?

    作为一名外贸人,深知外贸企业邮箱的重要性!外贸小伙伴们与国外客户沟通,除了wechat、skype和whatsapp基本都是靠企业邮箱去沟通。那么该如何挑选适合自己的外贸企业邮箱呢? 1、企业邮箱的后缀,最好为行业产品关键词,这样对方一看就知道咱们是做什么行业。 2、邮箱域名选好…...

    2024/4/24 12:06:04
  8. 安卓wifi基础功能

    一 相关概念介绍 1 涉及到的类WifiManager ——与Wifi相关的所有操作均通过此类 WifiConfiguration——Wifi网络配置信息 WifiInfo——表示当前的wifi热点信息 ScanResult——扫描到的热点信息类AccessPoint:这里先自行定义一个对象,方便描述和讲解,结构如下: public cla…...

    2024/4/24 12:06:01
  9. NRA离岸账户的注册条件和流程

    目前国内NRA离岸开户最方便的银行无疑是稠州商业银行了,该银行虽然是浙江省地方银行,其名气不大知名度不高,但该银行为浙江省扶持银行,稳定,安全。大家若是想该银行开户无需但心资金进出是否安全,该银行开设了很多的离岸账户,客户的操作和回馈对该银行都是很不错的体验。…...

    2024/4/24 12:06:06
  10. 如何免费安装并激活序列号iMazing软件

    iMazing是一款能够快速传输和保存音乐、文件、照片以及进行备份的iOS设备管理软件,同时支持Mac和Windows两大系统,功能强大,便于使用,下面小编就通过一则简单的教程,教大家如何下载安装并激活iMazing。 先行声明,本教程是在Windows10操作系统上,使用iMazing 2版本为大家…...

    2024/4/24 12:06:06
  11. 拿到软考证书到底会有哪些作用?

    软考证书还是非常有用的,特别是在IT行业。证书是大家求职的敲门砖。 那么拿到软考证书到底会有哪些作用呢?自我能力的提升。软考中级的系统集成项目管理工程师,高级的信息系统项目管理师,旨在考查IT在项目管理方面的实践与应用,除了IT的基础技术外,同时有项目管理的5大过…...

    2024/4/24 12:06:04
  12. 2020,8种必备Selenium编写自动化用例的技巧

    在开始自动化时,您可能会遇到各种可能包含在自动化代码中的方法,技术,框架和工具。有时,与提供更好的灵活性或解决问题的更好方法相比,这种多功能性导致代码更加复杂。在编写自动化代码时,重要的是我们能够清楚地描述自动化测试的目标以及我们如何实现它。话虽如此,编写…...

    2024/4/18 17:13:26
  13. 简书大佬的笔记:一篇文章带你详解 HTTP 协议(网络协议篇一)

    一篇文章带你详解 HTTP 协议(网络协议篇一)本篇文章篇幅比较长,先来个思维导图预览一下。一张图带你看完本篇文章一、概述1.计算机网络体系结构分层计算机网络体系结构分层2.TCP/IP 通信传输流利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用…...

    2024/4/24 12:05:57
  14. Spring 常见面试题

    1.Spring是什么? 答:Spring是一个轻量级的IoC和AOP容器框架,是为java应用程序提供基础性服务的一套框架,常见的配置方式有三种:基于XML配置,基于注解配置,基于java配置 主要由以下几个模块组成: Spring core:核心类库,提供IoC服务; Spring context:提供框架式的bea…...

    2024/4/27 14:39:23
  15. 公式顺序解析之加减乘除的执行顺序

    在上文:java根据Stack栈实现公式解析和自定义函数(二)的结尾有三个问题1. 加减乘除只支持两位2. 前缀的加减乘除还不支持3. 在末尾加减乘除会遇到数组下标越界的问题博主的思路已经有些混乱了,感觉不太对,所以我们先来把加减乘除的解析计算写一下,自己也捋捋思路,有经验…...

    2024/4/27 13:55:47
  16. allegro一键换层快捷命令设置

    allegro一键换层.txtallegro一键换层的快捷键设置,亲测好用,本人从网上找了N久才总结出来的,希望对各位攻城狮有所帮助,需要的自己下载吧立即下载allegro一键换层的快捷键设置,亲测好用,本人从网上找了N久才总结出来的,希望对各位攻城狮有所帮助,需要的自己下载吧...

    2024/4/27 14:16:36
  17. Python Pytest中使用的装饰器pytest.fixture

    最近在pytest中使用了很多装饰器觉得很好用,现在总结一下:pytest.fixture一、通过装饰器@pytest.fixture(),定义测试固件(test fixture)。实现setup_xxx的功能: import pytest # 函数名自定义 # 此时,login函数是一个测试固件,相对于实现了setup_xxx的功能。 @pytest.f…...

    2024/4/27 16:50:48
  18. PHP基本知识了解掌握 新手ctf 开源CMS 寻找EXP

    PHP概述PHP基本常识(了解)PHP基本语法(掌握)PHP网站框架指纹识别 PHP基本常识(了解)PHP定义 Personal Home Page Tools 原始定义 Hypertext Preprocessor 当前定义 超文本预处理器 是一种被广泛应用的开放源代码的多用途语言 PHP是服务器端脚本,返回的是HTML代码 与php…...

    2024/4/27 14:26:43
  19. Python虚拟环境搭建(Linux)

    1. 安装python3 sudo apt install python32. 安装pip3 sudo apt install python3-pip3. 安装virtualenv sudo -H pip3 install virtualenv3. 安装virtualenvwrapper sudo -H pip3 install virtualenvwrapper4. 配置virtualenvwrappervim ~/.bashrcexport WORKON_HOME=~/virenv…...

    2024/4/27 14:51:37
  20. JVM配置方法

    1、调优目的减少GC的频率和Full GC的次数2、调优方法使用jmap、mat等工具进行堆使用情况分析,内存等分析,通过调优参数重复分析使用情况,直到参数最优。3、工具的使用(1)jmap观察运行中的jvm物理内存的占用情况。参数如下:-heap :打印jvm heap的情况,会列出堆的总体使用情…...

    2024/4/27 15:08:46

最新文章

  1. 力扣153. 寻找旋转排序数组中的最小值

    Problem: 153. 寻找旋转排序数组中的最小值 文章目录 题目描述思路复杂度Code 题目描述 思路 1.初始化左右指针left和right&#xff0c;指向数组的头和尾&#xff1b; 2.开始二分查找&#xff1a; 2.1.定义退出条件&#xff1a;当left right时退出循环&#xff1b; 2.2.当nums…...

    2024/5/1 5:41:24
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Linux从入门到精通 --- 2.基本命令入门

    文章目录 第二章&#xff1a;2.1 Linux的目录结构2.1.1 路径描述方式 2.2 Linux命令入门2.2.1 Linux命令基础格式2.2.2 ls命令2.2.3 ls命令的参数和选项2.2.4 ls命令选项的组合使用 2.3 目录切换相关命令2.3.1 cd切换工作目录2.3.2 pwd查看当前工作目录2.4 相对路径、绝对路径和…...

    2024/4/30 5:12:27
  4. Mybatis--TypeHandler使用手册

    TypeHandler使用手册 场景&#xff1a;想保存user时 teacher自动转String &#xff0c;不想每次保存都要手动去转String&#xff1b;从DB查询出来时&#xff0c;也要自动帮我们转换成Java对象 Teacher Data public class User {private Integer id;private String name;priva…...

    2024/4/30 4:21:27
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57