最新文章blog
算法
算法栈12345678910111213141516定义stack 对象的示例代码如下:stack<int> s1;stack<string> s2;stack 的基本操作有:入栈,如例:s.push();在栈顶增加元素出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。访问栈顶,如例:s.top()判断栈空,如例:s.empty(),当栈空时,返回true。访问栈中的元素个数,如例:s.size()。
队123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869(1)vector< 类型 > 标识符 ;(2)vector< 类型 > 标识符(最大容量) ;(3)vector< 类型 > 标识符(最大容量,初始所有值);(4) int i[4] = {12,3,4,5};vector& ...
安装
ES安装
安装elasticsearch1.部署单点es1.1.创建网络因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:
1docker network create es-net
1.2.加载镜像这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。
课前资料提供了镜像的tar包:
大家将其上传到虚拟机中,然后运行命令加载即可:
12# 导入数据docker load -i es.tar
同理还有kibana的tar包也需要这样做。
1.3.运行运行docker命令,部署单点es:
1234567891011docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugin ...
Docker
Docker系统应用不能相互调用
Docker是如何解决不同系统之间的环境问题(函数库不同)
Docker将用户程序和所需要的函数库(如Ubuntu)函数一起打包
Docker运行到不同的操作系统时候(只要是基于Linux内核的)直接越过操作系统借助Linux内核执行
Docker与虚拟机Hypervisor:模拟出硬件
镜像和容器:镜像:Docker将应用程序所需要的依赖,函数库,环境和配置文件等文件打包在一起,成为镜像
容器:镜像中的应用程序运行后形成的进程就是容器,只是Docker对容器进行隔离,对外不可见
docker架构守护进程:什么是守护进程?
守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。
守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端呢?之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的信息也不在任何终端上显示。由于在 Linux 中,每一个系统与用户进行 ...
数据库
ElasticSearch
全文检索
首先扫描全文的文字,针对单词进阿里索引,并保存在文中的位置,以及出现的次数
用户查询的时候,将索引中的单词的文本位置,出现的次数返回给用户,因为具有了文本的位置就读出来了
附图
搜索原理:
内容爬取,将一些没有用的词删掉如:的 了
提取关键词
根据关键词建立倒排索引
用户输入关键词尽心搜索
倒排索引:(就是根据关键词进行一个 排序 做成一张表)
附图:
ElasticSearch简介ElasticSearch是什么ES是一个分布式,RESTful风格的搜索引擎和数据分析引擎
文档:http://www.elastic.co/
下载文档
mysql和es区别
搜索:使用海操作es
增删改:使用mysql
分词器ik_max_word 是最细分词 程序员 程 序 员
ik_smart 是粗略的
索引库操作mapping属性
mapping是对索引库中文档的约束,常见的mapping属性包括:
type:字段数据类型,常见的简单类型有:
字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)
数值:long、integer、short、b ...