当前位置: 首页 > news >正文

做网站软件html css微博热搜榜排名今日

做网站软件html css,微博热搜榜排名今日,电子商务公司的名字,济南兼职做网站简介 ElasticSearch简介:简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene…

简介

ElasticSearch简介:简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单个开源的分布式搜索引擎,可以用来实现搜索,日志统计,分析,系统监控等多种功能。

Elastic Stack(ELK):是以Elasticsearch为核心的技术栈,其中包括beats。logstash,kibanba,Elasticsearch。

正向索引和倒排索引

正向索引,假设我们有一个商品表,id是主键

如果我们按照id查询数据,他会走索引,查询效率很快,但是一般来说我们是会按照title来搜索,sql语句如下:

select * from good where title like “%手机%”

他查询需要全表扫描,一个个去匹配,效率可想而知,这就是正向索引,他在做局部内容检索的时候效率十分底。

倒排索引

文档:每条数据就是一个文档,类似于数据库中一张表的一条数据

词条:就是把文档分成一个个词语

假如同样我们搜索华为手机,基于倒排索引,他首先会将华为手机进行分词,获得文档id之后基于id进行查询文档,这时候虽然经过两次检索,但是每次都是基于索引的,总的来说,效率很高。

MySQL和Es的概念对比

Mysql:擅长事务类型操作,可以确保数据的安全和一致性
Elasticsearch:擅长海量数据的搜索、分析、计算

安装Elasticsearch和kibana

安装Elasticsearch

我们这里继续使用docker来安装

1,创建一个网络,因为我们需要让kibana容器和es互联

docker network create es-net

2,拉取镜像

docker pull elasticsearch

 但是es有差不多一个G拉取速度太慢,建议下载制作好的文件,上传,直接加载成镜像,例如上传es.tar将他加载为镜像,速度会很快。

 如果你直接拉取的镜像这个命令不需要执行:

docker load -i es.tar

3,运行es容器

docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \
elasticsearch:7.12.1

命令解释:

  • -e "cluster.name=es-docker-cluster":设置集群名称

  • -e "http.host=0.0.0.0":监听的地址,可以外网访问

  • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小,因为他是基于java开发的

  • -e "discovery.type=single-node":非集群模式

  • -v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录

  • -v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录

  • -v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录

  • --privileged:授予逻辑卷访问权

  • --network es-net :加入一个名为es-net的网络中

  • -p 9200:9200:端口映射配置

4,浏览器输入ip:9200如果出现

 安装成功!!!!

安装Kibana

kibana可以给我们提供一个elasticsearch的可视化界面,便于我们更方便使用es

1,拉取镜像

docker pull kibana

这里还是建议上传打包好的镜像,将他重新加载成镜像,如果直接拉取不需要执行这个命令

docker load -i kibana.tar

 2,启动kibana容器

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

命令解释:

  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中

  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch

  • -p 5601:5601:端口映射配置

3,浏览器输入ip:5601即可查看-(启动较慢,稍等一会)

安装成功!!!

ES-操作索引库(类似MySQL的表)

mapping属性

mapping是对索引库中文的约束,常见的mapping属性包括:

type:字段数据类型,常见的简单类型有:

        字符串:text(可分词文本),keyword(不可分词,例如国家,品牌,ip等等)

        数值:long,integer,short,double,float

        布尔:boolean

        日期:date

        对象:object

index:是否创建索引,默认为true。

analyzer:使用那种分词器。

properties:子字段,对象嵌套时需要。

创建索引库-类似于数据库的表

假如我们数据库有一个用户表,其中一条数据如下:

{  "id": 1,  "age": 21,  "weight": 52.1,  "isMarried": false,  "info": "csdn最靓的崽!!",  "email": "gde@nb.cn",  "scores": [  99.1,99.5,98.9],  "name": {  "firstName": "蛋儿",  "lastName": "狗"  }  
}

不难看出数据库表如何创建的,我们来看看在es中如何创建 索引库

这是一个示例:

# 创建索引库
PUT /索引库名称
{"mappings": {"properties": {"字段1":{"type":"类型,例如text",, "analyzer": "使用哪种分词器"},"字段2":{"type": "类型,例如keyword","index": false # 不适用索引},"字段3":{"properties": {"子字段1";{"type":"字段类型"},"子字段2";{"type":"字段类型"}}}}}
}

 实现之后(我们取少量字段):


# 创建索引库
PUT /userinfo
{"mappings": {"properties": {"info":{"type":"text","analyzer": "ik_smart"},"email":{"type": "keyword","index": false },"age":{"type": "integer","index": false},"name":{"properties": {"dirstName":{"type":"keyword"},"lastName":{"type":"keyword"}}}}}
}

 注意:索引名必须小写!!

索引库查询

GET /索引库名

索引库删除

DELETE /索引库名

索引库修改

需要注意的是es在索引库创建的时候就会基于索引库创建倒排索引,如果修改索引库结构倒排索引就会失效,所以,es是不允许修改索引库的,但是可以在索引库中增加新的字段。

# 向索引库中增加一个字段
PUT /索引库名/_mapping
{"properties":{"新字段名":{"type":"字段类型"}}
}

Es-操作文档

(类似MySQL的数据)

 索引库插入一条文档

示例语句:

# 向索引库中插入一条数据
POST /userinfo/_doc/文档id,例如1,2。。。
{"字段1":"值1","字段2":"值2","字段3":{"子属性1":"值3","子属性2":"值4"}
}

具体实现:

# 向索引库中插入一条数据
POST /userinfo/_doc/1
{"info":"csdn最靓的崽!!","email":"gde@nb.cn","age":"20","name":{"dirstName":"狗","lastName":"蛋儿"}
}

索引库查询的文档

# 查询id为1的数据
GET /索引库名/_doc/1#查询所有数据
GET /userinfo/_search  
{  "query": {  "match_all": {}  }  
}

索引库删除一条文档

#删除id为1的数据
DELETE /userinfo/_doc/1

索引库修改文档

1,全量修改

原本插入文档使用的是POST请求这时候只需要换成PUT请求即可,它会将原有的文档删除在重新插入,例如:

# 全量修改 修改索引库中id为1的数据,如果不存在就插入
PUT /userinfo/_doc/1
{"info":"csdn最靓的崽!!","email":"gde@nb.cn","age":"20","name":{"dirstName":"狗","lastName":"蛋儿"}
}

2,局部修改


# 局部修改
POST /userinfo/_update/1
{"doc": {"age":"99"}
}

至此es基础篇完结!!!!!!

http://www.dinnco.com/news/16824.html

相关文章:

  • 网站建设转正申请报告二十条疫情优化措施
  • 网站模板 扁平化鸡西网站seo
  • 手机端做网站软件网站运营和维护
  • 做网站的好处在哪里百度信息
  • 苏州做网站的公司哪家好win10最强性能优化设置
  • 国外做化学申报的网站营销咨询服务
  • 网站首页标题字数四川疫情最新消息
  • 电子商务网站建设策划案四年级小新闻50字左右
  • 北京做电商网站百度建站云南服务中心
  • 自己做的网站怎么放到小程序武汉seo公司出 名
  • 手机怎样使用域名访问网站手机建站平台
  • 淮南建设工程信息网站百度投诉电话人工客服24小时
  • 深圳市人民政府门户网站天门网站建设
  • html网站系统微信营销软件
  • 苏州官网设计seo站长论坛
  • 找人网站 优帮云推广文案怎么写吸引人
  • 网站平台专业开发制作appsaas建站
  • 有找专业做淘宝网站的美工招聘网络营销推广人员
  • 建筑设计前景怎么样电商seo优化
  • 啤酒网站建设河北seo人员
  • 网站开发技术的发展流程金蝶进销存免费版
  • 北京最近疫情 最新消息 数据长沙网站推广和优化
  • 郑州网站建设专业公司seo课程培训机构
  • 广西建设厅官网站广告公司简介
  • 电子商城网站开发软件如何宣传网站
  • 纯静态网站是有什么程序做的自助建站系统模板
  • 重庆城乡建设委员会的网站360点睛实效平台推广
  • 北京互联网公司网站建设短信广告投放软件
  • 淄博网站建设设计公司企业软文营销发布平台
  • 惠州网站建设哪里有广东广州疫情最新情况