elasticsearch基础6——head插件安装和web页面查询操作使用、ik分词器
文章目录
- 一、基本了解
- 1.1 插件分类
- 1.2 插件管理命令
- 二、分析插件
- 2.1 es中的分析插件
- 2.1.1 官方核心分析插件
- 2.1.2 社区提供分析插件
- 2.2 API扩展插件
- 三、Head 插件
- 3.1 安装
- 3.2 web页面使用
- 3.2.1 概览页
- 3.2.1.1 unassigned问题解决
- 3.2.2 索引页
- 3.2.3 数据浏览页
- 3.2.4 基本查询页
- 3.2.4.1 term指定查询
- 3.2.4.2 range范围查询
- 3.2.4.3 多条件查询
- 3.2.5 复合查询页
- 3.2.5.1 查询数据
- 3.2.5.2 插入数据
- 3.2.5.3 查询所有文档
- 3.2.5.4 布尔查询
- 3.2.5.5 创建索引库
- 四、ik分词器
- 4.1 Windows安装
- 4.2 Linux安装
- 4.3 自定义停用词词典
一、基本了解
1.1 插件分类
- 插件是用户以自定义方式增强es功能的一种方法,分两类,核心插件和社区贡献插件。
- 插件太多,只需要熟悉插件的安装流程即可,根据项目需要再自行安装。
核心插件:
- 核心插件属于es项目,插件的版本号始终与es安装包的版本号相同,这些插件由es团队维护。
- 项目地址
社区贡献插件:
- 社区贡献插件属于es项目外部的插件。这些插件由单个开发人员或私人公司提供,并拥有各自的许可证及各自的版本控制系统。
1.2 插件管理命令
1.列出当前已安装的插件。这里显示的就是我们已经安装了一个ik分词器插件。
[es-qingjun@localhost bin]$ elasticsearch-plugin list
2.安装插件。
[es-qingjun@localhost bin]$ elasticsearch-plugin install analysis-icu
3.删除插件。
[es-qingjun@localhost bin]$ elasticsearch-plugin remove analysis-icu
- 我们可以使用相关命今获取插件命令的使用说明:$es_home/bin/elasticsearch-plugin - h
1.插件位置指定
当在根目录中运行 Elasticsearch 时,如果使用 DEB 或RPM 安装了 Elasticsearch,则以根目录运行 /usr /share / Elasticsearch/ bin /Elasticsearch-plugin,以便 Elasticsearch 可以写入磁盘的相应文件,否则需要以拥有所有 Elasticsearch 文件的用户身份运行 bin/ Elasticsearch 插件当用户自定义URL 或文件系统时,用户可以通过指定 URL 直接从自定义位置下载插件:
sudo bin / elasticsearch - plugin install [url]
二、分析插件
基本了解:
- 分析器会接受一个字符串作为输入参数,将这个字符串拆分成独立的词或语汇单元(也称之为 token)。
- 在处理过程中会丢弃一些标点符号等字符,处理后会输出一个语汇单元流(也称之为 token stream)。
- es为很多语言提供了专用的分析器,特殊语言所需的分析器可以由用户根据需要以插件的形式提供。
分析器组成的三个部分:
- character filter: 分词之前的预处理,过滤HTML标签、特殊符号转换等。
- tokenizer:用于分词。
- token filter:用于标准化输出。
es内置的主要分析器:
- Standard分析器:默认的分词器,会将词汇单元转换成小写形式,并且去除停用词和标点符号,支持中文(采用的方法为单字切分)。停用词指语气助词等修饰性词语,如 the、an、的、这等。
- Simple分析器:首先通过非字母字符分割文本信息,并去除数字类型的字符,然后将词汇单元统一为小写形式。
- Whitespace分析器:仅去除空格,不会将字符转换成小写形式,不支持中文:不对生成的词汇单元进行其他标准化处理。
- Stop分析器:与Simple 分析器相比,增加了去除停用词的处理。
- Keyword分析器:该分析器不进行分词,而是直接将输入作为一个单词输出。
- Pattern分析器:该分析器通过正则表达式自定义分隔符,默认是“]W+”,即把非字词的符号作为分隔符。
- Language分析器:这是特定语言的分析器,不支持中文,支持如 English、French 和Spanish 等蛮豆颓逼磺糯敢奇害弋亭缆忸侠子补。
注意事项:
- 任何全文检索的字符串域都会默认使用 Standard 分析器。
Standard分析器简介:
- 工作模式:一般来说,分析器会接受一个字符串作为输入。在工作时,分析器会将这个字符串拆分成独立的词或语汇单元(称之为 token),当然也会丢弃一些标点符号等字符,最终分析器输出一个语汇单元流。
- 常规分析器使用算法:Whitespace 分词算法。
- 该算法按空白字符,如空格、Tab、换行符等,对语句进行简单的拆分,将连续的非空格字符组成一个语汇单元。
- 例如,对下面的语句使用 Whitespace 分词算法分词时,会得到如下结果:
原文:You're the lst runner home! 结果: You're、the、st、runner、home!
- Standard 分析器使用算法: Unicode 文本分制算法。
- 可以寻找单词之间的界限,并输出所有界限之间的内容。
- Unicode 内包含的知识使其可以成功地对包含混合语言的文本进行分词。
2.1 es中的分析插件
分析插件是一类插件,可通过向es中添加新的分析器、标记化器、标记过滤器或字符过滤器等扩展es的分析功能。
2.1.1 官方核心分析插件
插件名称 | 作用 |
---|---|
ICU库 | 可以扩展对 Unicode 的支持, 包括更好地分析亚洲语言、Unicode 规范化、 支持 Unicode 的大小写折叠、支持排序和音译。 |
Kuromoji 插件 | 对日语进行分析 |
Lucene Nori 插件 | 对韩语进行分析 |
Phonetic 插件 | 可以使用 Soundex、Metaphone、Caverphone 和其他编码器/解码器将标记分析为其语音等价物。 |
SmartCN插件 | 可用于对中文或中英文混合文本进行分析。 该插件利用概率知识对简化中文文本进行最优分词。 首先文本被分割成句子,然后每个句子再被分割成单词。 |
Stempel插件 | 对波兰语进行分析 |
Ukrainian 插件 | 为乌克兰语提供词干分析 |
2.1.2 社区提供分析插件
插件名称 | 作用 |
---|---|
IK Analysis Plugin | 将 Lucene IK Analyzer 集成到 Elasticsearch 中,支持读者自定义字典 |
Pinyin Analysis Plugin | 一款拼音分析插件,该插件可对汉字和拼音进行相互转换。 |
Vietnamese Analysis Plugin | 对越南语进行分析 |
Network Addresses Analysis Plugin | 可以用于分析网络地址。 |
Dandelion Analysis Plugin | 可译为蒲公英分析插件,该插件提供了一个分析器(称为“蒲公英-A”),该分析器会从输入文本中提取的实体进行语义搜索。 |
STConvert Analysis Plugin | 可对中文简体和繁体进行相互转换 |
2.2 API扩展插件
- API扩展插件通过添加新的、与搜索有关的 API 或功能,实现对es新功能的添加。
- es社区人员陆陆续续贡献了不少API扩展插件编辑器,汇总如下:
插件名称 | 作用 |
---|---|
Carrot2 Plugin | 用于结果聚类。 可访问 GitHub 官网搜索 elasticsearch-carrot2,查看配套代码。 |
Elasticsearch Trigram Accelerated Regular Expression Filter | 该插件包括查询、过滤器、原生脚本、评分函数,以及用户最终创建的任意其他内容,通过该插件可以让搜索变得更好。 可访问 GitHub 官网搜索 search-extra 获取插件。 |
Elasticsearch Experimental Highlighter | Java 编写,用于文本高亮显示。 可访问 GitHub 官网,搜索 search-highlighter 获取插件。 |
Entity Resolution Plugin | 该插件使用 Duke (Duke 是一个用 Java 编写的、快速灵活的、删除重复数据的引擎)进行重复检测。读者可访问 GitHub 官网,搜索 elasticsearch-entity-resolution 获取插件 |
Entity Resolution Plugin(zentity) | 用于实时解析es中存储的实体信息。 可访问 GitHub 官网,搜索zentity 获取插件。 |
POL language Plugin | 该插件允许用户使用简单的管道查询语法对es进行查询。 可访问 GitHub官网,搜索 elasticsearch-pql 获取插件。 |
Elasticsearch Taste Plugin | 该插件基于 Mahout Taste 的协同过滤算法实现。 可访问 GitHub 官网,搜索elasticsearch-taste 获取插件。 |
WebSocket Change Feed Plugin | 该插件允许客户端创建到es节点的 WebSocket 连接,并从数据库接收更改的提要。 可访问 GitHub 官网,搜索 es-change-feed-plugin 获取插件 |
三、Head 插件
- es-head插件在0.x-2.x版本时,是集成在elasticsearch内的。由elasticsearch的bin/elasticsearch-plugin来管理插件,从2.x版本跳到了5.x版本后,head就作用了一个独立的服务来运行了。
- Elasticsearch 5之后则需要将elasticsearch-head服务单独运行,并且支持Chrome的插件方式或者Docker容器运行方式。
- 这个插件我们前面已经安装过,这里就介绍下具体怎么玩它。
插件简介:
- Head 插件,全称为 elasticsearch-head,是一个界面化的集群操作和管理工具,可以对集群进行“傻瓜式”操作。
- 既可以把 Head 插件集成到 Elasticsearch 中,也可以把 Head 插件当成-个独立服务。
主要功能:
- 显示es集群的拓扑结构,能够执行索引和节点级别的操作。
- 在搜索接口能够查询es集群中原始JSON 或表格格式的数据。
- 能够快速访问并显示es集群的状态。
3.1 安装
1.安装node.js环境,注意版本不要太高,不然会跟linux本身的依赖库包版本冲突报错。
[root@localhost bck]# tar zxf node-v16.9.0-linux-x64.tar.gz
[root@localhost bck]# mv node-v16.9.0-linux-x64 /usr/local/node[root@localhost bck]# tail -2 /etc/profile
export node_home=/usr/local/node
export PATH=$node_home/bin:$PATH[root@localhost bck]# source /etc/profile
[root@localhost bck]# node -v
v16.9.0
2.解压es-head安装包,安装依赖。注意这里需要进入解压出来的目录里执行命令。下载地址
#安装cnpm
[root@localhost elasticsearch-head-5.0.0]# npm install -g cnpm --registry=https://registry.npm.taobao.org#安装依赖
[root@localhost elasticsearch-head-5.0.0]# cnpm install
3.启动es-head
[root@localhost elasticsearch-head-5.0.0]# npm run start
4.访问页面。
5.修改es配置文件,添加如下两行,解决跨域问题。
[root@localhost elasticsearch-8.5.2]# vi config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
6.重启es,es-head就可以连接es了。
3.2 web页面使用
Head 插件首页由 4 部分组成:节点地址输入区域、信息刷新区域、导航条、概览中的集群信息汇总。
3.2.1 概览页
- 第一部分:节点地址输入区域。这里输入es集群任意一个节点IP就可以查看集群所有状态和数据。
- 第二部分:信息刷新区域。
- 刷新区域可以查看es相关的信息和刷新插件的信息。
2. 信息区域可以看到es相关的信息,包括集群节点信息、节点状态、集群状态集群信息、集群健康值等内容。单击对应的按钮,即可查看对应的信息。
- 第三部分:导航条。看到概览、索引、数据浏览、基本查询和复合查询五个 Tab 导航,默认为概览。
- 第四部分:概览中的集群信息汇总。可以看到es已经创建的索引,这些索引信息包含了索引的名称、索引的大小和索引的数据量,并且通过“信息”和“动作”两个按钮可以查看索引信息,或者给索引创建别名。
- 第五部分:集群健康值。es中有专门的衡量索引健康状况的标志,分为三个等级:
- green,绿色。代表所有的主分片和副本分片都已分配,集群是 100% 可用的。
- yellow,黄色。所有的主分片已经分片了,但至少还有一个副本是缺失的,不会有数据丢失,所以搜索结果依然是完整的。不过高可用性在某种程度上会被弱化。如果更多的分片消失,就会丢数据了。可以把 yellow 想象成一个需要及时调查的警告。
- red,红色。至少一个主分片以及它的全部副本都在缺失中。意味缺少数据,搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。
- 当只有一台主机时,索引的健康状况是 yellow。因为一台主机,集群没有其他的主机可以做副本,所以说,这就是一个不健康的状态,因此集群也是十分有必要的。
- 第六部分:索引分片。Elasticsearch数据就存储在这些分片中。每一个方框就是elasticsearch的分片,粗线方框是es的主分片,主分片旁边细线方框是es的备份分片,对应关系,粗线方框0的备份分片是细线方框0,以此类推。
3.2.1.1 unassigned问题解决
副本分片作用:
- 主要目的是为了故障转移,为备份数据。如果持有主分片的节点挂掉了,一个副本分片就会晋升为主分片的角色。
产生unassigned问题原因:
- 副本分片和主分片不能放在同一个节点上,在这里集群里只有一个节点,副本分片没有办法分配到其他的节点上,所以出现所有副本分片都是未分配的情况。因为只有一个节点,如果存在主分片节点挂掉了,那么整个集群理应就挂掉了,不存在副本分片升为主分片的情况。
处理手段:
- 将每个索引的副本数重置为0即可解决这个未知节点问题。“number_of_replicas”:0
3.2.2 索引页
- 可以查看当前es集群中的索引情况。
1.新建索引。
2.查看。
3.2.3 数据浏览页
- 可以查看特定索引下的数据。
3.2.4 基本查询页
匹配方式:
- must子句:文档必须匹配 must 查询条件,相当于“=”。
- should子句:文档应该匹配 should 子查询的一个或多个条件。
- must_not子句:文档不能匹配该查询条件,相当于“!=”。
- term:表示的是精确匹配。
- wildcard:表示的是通配符匹配。
- prefix:表示的是前缀匹配。
- range:表示的是区间查询。
注意事项:
- 当用多个查询条件进行搜索或查询时,需要注意多个查询条件间的匹配方式。
- 匹配方式主要有3种,即must、should 和mus_not。
- “+”“_”按用于增加查询条件或减少查询条件。
- 在查询结果展示区域中,用户可以设置数据的呈现形式,如 table、JSON、CVS 表格等还可以勾选“显示查询语句”选项,呈现通过表单内容拼接的搜索语句。
3.2.4.1 term指定查询
3.2.4.2 range范围查询
3.2.4.3 多条件查询
3.2.5 复合查询页
基本了解:
- “复合查询”标签页可以自由拼接条件,进行复杂的数据查询。
- “复合查询”标签页为用户提供了编写 RESTful接口风格的请求,用户可以使用JSON 进行复杂的查询,比如发送 PUT 请求新增及更新索引,使用 delete 请求删除索引等。
RESTful API的基本格式:
- http://ip:port/索引/类型/文档ID
配置接口的四个选项:
- 在es中,以POST 方法自动生成ID,而 PUT 方法需要指明ID。
- 请求方法与HTTP 的请求方法相同,如 GET、PUT、POST、DELETE 等。
- 还可以配置查询JSON 请求数据、请求对应的es节点和请求路径。
- 支持配置JSON验证器对用户输入的JSON 请求数据进行JSON 格式校验。
- 支持重复请求计时器配置重复请求的频率和时间。
- 在结果转换器中支持使用 JavaScript 表达式变换结果。
3.2.5.1 查询数据
- 查询。查询索引111中编号为1的文档。
3.2.5.2 插入数据
新增数据有两种方式,POST和PUT,两者的区别就是POST自动生成文档编号,也可以指定,而PUT需要指定文档编号生成。
1.post方式指定id生成。
2.post方式不指定id生成会是随机生成一个id。
3.put方式指定id生成。
3.2.5.3 查询所有文档
3.2.5.4 布尔查询
- must:文档必须匹配这些条件才能被搜索出来。
- must_not:文档必须不匹配这些条件才能被搜索出来。
- should:如果满足这些语句中的任意语句,则将增加搜索排名结果 score; 否则,对查询结果无任何影响。其主要作用是修正每个文档的相关性得分。
- filter:表示必须匹配,但它是以不评分的过滤模式进行的。这些语句对评分没有贡献只是根据过滤标准排除或包含文档。
注意事项:
- 如果没有 must 语句,那么需要至少匹配其中的一条 should 语句。但如果存在至少一条 must 语句,则对 should 语句的匹配没有要求。
- 查看匹配”qingjun“,且不匹配”baimu“的文档。
{"query": {"bool": {"must": [{"match": {"name": "qingjun"}}],"must_not": [{"match": {"name": "baimu"}}]}}
}
3.2.5.5 创建索引库
四、ik分词器
什么是IK分词器 ?
- 分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱狂神"会被分为"我"“爱”“狂"神”,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。
注意事项:
- 如果要使用中文,建议使用ik分词器 !
- ik提供了两个分词算法:ik_smat 和ik_max_word,其中 ik_mart 为最少切分,ik_max_word为最细粒度划分!一会我们测试!
常用配置文件:
- IKAnalyzer.cfg.xml:用来配置自定义词库。
- main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起,最常用的文件。
- quantifier.dic:存放了一些单位相关的词。
- suffix.dic:存放了一些后缀。
- surname.dic:中国的姓氏。
- stopword.dic:包含了英文的停用词,停用词 stop word ,比如 a 、the 、and、 at 、but 等会在分词的时候直接被干掉,不会建立在倒排索引中。
4.1 Windows安装
1.下载ik分词器安装包,注意下载版本需要与安装的es版本一致。github下载地址
2.将下载的压缩包解压到我们本地安装es根目录下的plugins目录。我这里新增加了一个ik目录是为了好区分,该目录下的所有文件就是解压出来的。
3.重启es,包括与之相关的所有服务kibana。重启再启动后能读到分词器,日志就会显示。
4.可以通过elasticsearch-plugin命令查看加载进来的插件,这里就显示了一个ik插件。
5.启动kibana测试。
get _analyze ##get请求,_analyze为请求对象(分词器)。下面括号内容为请求要求。
{"analyzer": "ik_smart", ##选中ik分词器。"text": "跟我一起学运维" ##分哪个词。
}
ik_smart为最少切分,是将一句话按段切分出来的,分出来的内容没有重复的字。
ik_max_word最小粒度划分,穷尽所有组合,会出现重复的字。
这里就出现了一个问题,把“学运维”三个字拆分了,我不需要将这三个字拆分,应该是一个组合词,该怎么办?自己去添加词库。
6.进入ik分词器安装目录下的config目录,手动创建一个文档,以dic结尾,里面添加我们想要的词。
7.将新建的文档名称添加到IKAnalyzer.cfg.xml文件中。
8.重启es和kibana。
9.再次查看kibana上的分词效果。此时“学运维”就是我们添加再词库里的词,而不是切分开来;用最小粒度查看就多了一个“学运维”词,之前是没有这个词的。
4.2 Linux安装
1.同样需要准备ik分词器的安装包,版本最好与es、kibana版本一致。我们还是解压到es的插件目录里,方便管理。
2.进入config目录,自定义分词。
- 第一种,在默认词库里添加后在重启es、kibana服务,测试效果。
- 第二种,新建自定义分词库,再重启es和kibana,测试效果。
4.3 自定义停用词词典
- 上面我们已经自定义了“学运维”一词,在分词时可以把这三个字排一起当成一个词分出来。
- 当然也可以自定义停用词词典,比如了、的、啥、么,我不像搜索这样的词出来。
1.比如我想在能把“吧”这个词搜索出来,对我没有实际意义,就可以把它单独停用。
2.在ik/config目录下自定义个文件,里面添加不像分的词,再添加到IKAnalyzer.cfg.xml文件里,最后重启es和kibana。
3.重启后在测试,就不会有“吧”这个词了。
相关文章:

elasticsearch基础6——head插件安装和web页面查询操作使用、ik分词器
文章目录一、基本了解1.1 插件分类1.2 插件管理命令二、分析插件2.1 es中的分析插件2.1.1 官方核心分析插件2.1.2 社区提供分析插件2.2 API扩展插件三、Head 插件3.1 安装3.2 web页面使用3.2.1 概览页3.2.1.1 unassigned问题解决3.2.2 索引页3.2.3 数据浏览页3.2.4 基本查询页3…...

【Linux】七、进程间通信(二)
目录 三、system V(IPC) 3.1 system V共享内存 3.1.1 共享内存的概念 3.1.2 共享内存的原理 3.1.3 创建共享内存(shmget ) 3.1.4 ftok函数 3.1.5 查看共享内存资源 3.1.6 创建共享内存测试代码 3.1.7 再次理解共享内存 3.1.8 释放共享内存(shm…...

Synchronized学习大总结
目录 1.synchronized特性 2.synchronized如何使用 3.synchronized的锁机制 1.synchronized特性 synchronized 是乐观锁,也是悲观锁,是轻量级锁(j基于自旋锁实现),也是重量级锁(基于挂起等待锁实现),它不是读写锁,是互斥锁,当一个线程抢到锁之后,其它线程阻塞等待,进入synchr…...

VN5620以太网测试——环境搭建篇
文章目录 前言一、新建以太网工程二、Port Configuration三、Link up四 Trace界面五、添加Ethernet Packet Builder六、添加ARP Packet七、添加Ethernet IG总结前言 CANoe(CAN open environment)VN5620 :是一个紧凑而强大的接口,用于以太网网络的分析、仿真、测试和验证。 …...

redis哨兵和集群部署手册
一、哨兵模式原理及作用 1.原理 哨兵(sentinel): 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现 故障时,通过投票机制选择新的master并将所有slave连接到新的master。所以整个运行哨兵的集…...

ctfshow web入门 java 295 298-300
其他没啥好讲的,都是工具就通杀了 web295 漏洞地址 http://ip/S2-048/integration/saveGangster.action 这里我们可以看到他是解析了 尝试使用网上的payload %{(#dmognl.OgnlContextDEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess#dm):((#container#cont…...

SWIG包装器使用指南——(四)C#使用SWIG简介与实践
SWIG系列:http://t.csdn.cn/cIAcr 文章目录一、简介二、全局函数、变量、常量三、继承四、传递指针、引用、数组与值五、基本类型的指针与引用六、基本类型的数组七、基本类型的默认map规则八、常用的typemap方法九、代码插入十、实践10.1 如何映射Foo*&到ref F…...

HashTable, HashMap 和 ConcurrentHashMap
HashTable, HashMap 和 ConcurrentHashMap 都是 Java 集合框架中的类,用于存储和操作键值对。它们之间存在一些关键区别,如下所示: 1.同步性: HashTable:线程安全,所有的方法都是同步的(synchr…...

ToBeWritten之IoT 技战法
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…...

基于ASP.NET开发的医院手术麻醉信息管理系统源码 项目源码
系统主要功能介绍: 门诊科室管理系统:手术快速申请、手术申请、手术审核 麻醉科管理系统:手术安排、术后处方、术后小结、PCS实施及管理记录、手术流程 手术护理系统:手术安排、安排临时手术、添加急诊手术、局麻手术护理、整体护…...

伪加密超具体破解办法,直击原理底层,细致演示!!!
前言: 由于我自己目前在misc和取证工作中,也遇到很多压缩包的问题,我个人非常喜欢做压缩包的题目,但也会遇到伪加密问题难以破解,全网ctf教程我都看完了,但是都觉得不够具体,所以我写一篇博客&…...

ChatGPT大规模封锁亚洲地区账号
我是卢松松,点点上面的头像,欢迎关注我哦! 在毫无征兆的情况下,从3月31日开始OpenAI大规模封号,而且主要集中在亚洲地区,特别是ip地址在台湾、日本、香港三地的,命中率目测40%。新注册的账号、…...

脂肪酸脂质Myristic acid PEG NHS,Myristic-acid PEG NHS ester,肉豆蔻酸PEG活性酯,具有优异疏水性
一、基础产品数据: 中文名:肉豆蔻酸PEG N-羟基琥珀酰亚胺,肉豆蔻酸PEG活性酯 英文名:Myristic acid PEG NHS,Myristic-acid PEG NHS ester,Myristic acid PEG SE 结构式(Structural)…...

MFC - CFormView类学习1
CFormView简介 MFC提供了一个名为CFormView的特殊视图类,我们称其为表单视图。表单视图是指用控件来输入和输出数据的视图,用户可以方便地在表单视图中使用控件。表单视图具有对话框和滚动视图的特性,它使程序看起来象是一个具有滚动条的对话…...

图像预处理方法
图像预处理 膨胀腐蚀概述 ⚫ 膨胀、腐蚀属于形态学的操作, 简单来说就是基于形状的一系列图像处理操作 ⚫ 膨胀腐蚀是基于高亮部分(白色)操作的, 膨胀是対高亮部分进行膨胀, 类似“领域扩张”, 腐蚀是高亮部分被腐蚀, 类似“领域被蚕食” ⚫ 膨胀腐蚀的应用和功能: 消除噪声…...

【蓝桥杯C/C++】专题六:动态规划
专题六:动态规划 目录专题六:动态规划导读什么是动态规划解决的问题解题步骤动态规划应该如何debug记忆化搜索斐波那契数题目代码题解爬楼梯题目代码题解使用最小花费爬楼梯题目代码题解不同路径题目题解dfsdp凑硬币题目题解dfsdp滑雪题目代码题解汉罗塔…...

图的定义和基本术语
图的定义和基本术语1.图的定义2.图的基本术语3.图的分类1.图的定义 图是由顶点和有穷非空集合和顶点边的集合吗,表示为G(V,E)。 G表示一个图,V是图G的顶点(数据元素)的集合,E是图G中顶点之间边的集合。在图中…...

041:cesium加载Blue Marble地图
第041个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载Blue Marble地图。Blue Marble是一个术语,用来描述星球漂浮在浩瀚太空中的形象。早在 1972 年,阿波罗 17 号任务的工作人员就首次捕捉到了地球的标志性卫星图像,并将其称为“Blue Marble”。从那时起,NA…...

【概念梳理】激活函数
一、引言 常用的激活函数如下: 1、Sigmoid函数 2、Tanh函数 3、ReLU函数 4、ELU函数 5、PReLU函数 6、Leaky ReLU函数 7、Maxout函数 8、Mish函数 二、激活函数的定义 多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,…...

【python】@property 和 @staticmethod
property 和 staticmethod 是 Python 中的两个装饰器,它们分别用于在类中创建属性或静态方法。它们的作用如下: property property:用于将类的一个方法作为属性访问。在 Python 中,使用“getter” 和“setter”方法来实现属性&a…...

Spring题集 - Spring AOP相关面试题总结
文章目录01. Spring AOP 的理解?02. Spring AOP 思想的代码实现03. Spring AOP 的相关术语有哪些?04. Spring AOP 基于注解的切面实现?05. Spring AOP 的通知有哪些类型?06. AOP 有哪些实现方式?07. Spring AOP 和 AspectJ AOP 有…...

分考场
[蓝桥杯 2017 国 C] 分考场(假题:最小色数) 题目描述 nnn 个人参加某项特殊考试。 为了公平,要求任何两个认识的人不能分在同一个考场。 求最少需要分几个考场才能满足条件。 输入格式 第一行,一个整数 n(1<n<100)n(1<n<100…...

BI技巧丨DAX Studio
DAX Studio DAX Studio,作为PowerBI外部插件使用率排名第一的插件,相信各位小伙伴或多或少都听说过,那么DAX Studio具体有哪些功能呢? PS:DAX Studio的下载链接,小伙伴们可以自行搜索,这里就不…...

Java 8常用时间 API
Date: 你不爱我了吗? 🚡本地时间时区相关格式化在Java 8中,Instant类用于表示时间戳,相当于旧的Date类;LocalDateTime类用于表示日期和时间,相当于旧的Calendar类;DateTimeFormatter类用于格式化日期和时间…...

C++运算符
C运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符 1. 算术运算符 运算符描述实例把两个操作数相加A B 将得到 30-从第…...

低/无代码赋能企业,IT与业务的角色正在悄然改变
现在这个社会,年轻人的压力是真的大,需要会的技能多到数不清。想学习多点技能也不知道去哪学,主要是网络资源太丰富,很难找到一个适合自己的。那接下来推荐4个大神级别的资源网站你可一定得码住,都是年轻人特别 …...

SpringCloud学习2(Spring Cloud Netflix)负载均衡Ribbon、Feign负载均衡、Hystix服务熔断
文章目录负载均衡RibbonRibbon的作用代码实现生产者cloud1_provider实现配置文件在HiController中编写以下代码启动集群消费者cloud1_consumer实现引入依赖编写配置文件编写启动类,并给RestTemplate配置LoadBalanced注解编写RestController来测试Feign负载均衡简介F…...

Spring 源码解析 - @Async 注解下的循环依赖问题原理
一、Async 注解下的循环依赖问题 我们都知道 Spring IOC 单例模式下可以帮助我们解决循环依赖问题,比如下面自己依赖自己循环依赖的场景: Component public class TestAsync {ResourceTestAsync async;public void test() {System.out.println("t…...

8个全球性编程比赛,天才程序员的梦想舞台
很多编程爱好者在学习之初,都渴望与全球的程序员一较高下,以证明自己的实力。 一些全球性的编程竞赛为他们提供了这样的机会,不仅可以与全世界的顶尖程序员们交流,还有机会获得丰厚的奖金和进入顶级公司的机会,更重要…...

2023年中国海洋大学计算机及电子信息考研分析
考研时间跨度: 初试时间: 2022年8月23 海大推免及创新人才计划接收通知。 2022年9月13 海大专业目录及人数,包含推免。 2022年10月18 2022年硕士研究生计划 ,不含推免。 海大2022年硕士研究生计划 网上第一次时间为2022年9月24日…...