国外哪些网站有黄图,中国网络排名前十名,广州建站外贸,centos7是怎么做网站的目录
1.下载安装
1.1.ESKibana
1.2.分词器
2.操作
2.1.索引操作
2.1.1.索引的新增、删除、查找
2.1.2.数据类型
2.1.3.结构化
2.2.文档操作
2.2.1.文档的增、删、改
2.2.2.文档的查询
2.2.3.聚合操作 1.下载安装
1.1.ESKibana
Kibana是一个开源的数据可… 目录
1.下载安装
1.1.ESKibana
1.2.分词器
2.操作
2.1.索引操作
2.1.1.索引的新增、删除、查找
2.1.2.数据类型
2.1.3.结构化
2.2.文档操作
2.2.1.文档的增、删、改
2.2.2.文档的查询
2.2.3.聚合操作 1.下载安装
1.1.ESKibana
Kibana是一个开源的数据可视化和管理工具专门为Elasticsearch设计。Elasticsearch是一个强大的搜索和分析引擎而Kibana提供了一个友好的界面使用户能够直观地与Elasticsearch索引中的数据进行交互。
ES的相关核心概念请移步作者另一篇文章
https://bugman.blog.csdn.net/article/details/135342256?spm1001.2014.3001.5502
ESKibanna下载地址https://www.elastic.co/cn/downloads/past-releases#elasticsearchhttps://www.elastic.co/cn/downloads/past-releases/的端口号92005601
备注ES和kibanna最好版本完全对齐
进kibanna的图形化界面的dev tools来操作ES 1.2.分词器
ES自带的分词器对中文不友好分词效果不理想所以一般涉及中文的场景的时候都会用IK分词器来替换ES原生的分词器。
IK分词器下载地址
https://github.com/medcl/elasticsearch-analysis-ik
备注IK分词器的版本也好和ES版本对齐。
IK分词器对于ES来说就是一个插件直接放到ES的plugin目录下解压缩即可。
备注IK分词器要重启后才会生效。
2.操作
2.1.索引操作
2.1.1.索引的新增、删除、查找
新增 PUT /person
{settings: {number_of_shards: 5//分片数, number_of_replicas: 1//副本数}
} 查找 GET /person 删除 DELETE /person 2.1.2.数据类型
ES可以指定字段的数据类型。
字符型
text当前filed会被分词支持全文检索。
keyword当前filed不会被分词不支持全文检索。
数值类型
long、integer、short、byte、double、float、half_float、scaled_float
时间类型
date针对时间类型指定具体的格式
布尔类型
boolean类型表达true和false
二进制类型
binary类型暂时支持base64 encode string
范围类型 long_range同上 integer_range同上 double_range同上 float_range同上 date_range同上 ip_range同上
经纬度类型 geo_point用来存储经纬度
ip类型 ip可以存储ipv4或者ipv6
除此以外还支持很多数据类型详见官网。
2.1.3.结构化
所谓结构化就是指在创建索引的时候指定好字段的数据类型已经相关声明配置。 PUT /book
{settings: {number_of_shards: 5,//分片数number_of_replicas: 1//副本数},mappings: {properties: {name:{type: text,//支持分词analyzer: ik_max_word,//用ik分词器分词index: true,store: false},author:{type: keyword//不支持分词直接整体作为关键字查询},count:{type: long},on-sale:{type: text,//支持分词analyzer: ik_max_word//使用ik分词器分词}}}
} 2.2.文档操作
2.2.1.文档的增、删、改 #新建文档指定id为1 POST /book/_doc/1 { name:数据库组成原理, author:查理士巴赫曼, count:1, on-sale:yes } #新建文档没有指定id的时候会默认生成一个id POST /book/_doc { name:计算机组成原理, author:冯诺依曼, count:1, on-sale:yes } #修改文档部分 POST /book/_update/1 { doc:{ count:2 } } #修改文档全部即覆盖 PUT /book/_doc/1 { name:数据库原理, author:查理士·巴赫曼, count:2, on-sale:no } #删除单个 DELETE /book/_doc/1 2.2.2.文档的查询
文档的查询是在实际应用中用的最多的。查询就一定需要传查询参数在ES中支持两种传参数的方式一种是在url上传一种是在请求体里面传。ES的查询常用到的内容有如下示例 #查找所有 GET /book/_search GET /book/_search { query: { match_all: { } } } #分页 GET /book/_search { query: { match_all: { } }, from: 0, size: 1 } #指定返回字段 GET /book/_search { _source:[name], query: { match_all: { } } } #排序 GET /book/_search { query: { match_all: { } }, sort: [ { count: { order: desc } } ] } #多条件查询 GET /book/_search { query: { bool: { must: [ { match: { name: 计算机组成原理 } }, { match: { author: 冯诺依曼 } } ] } } } #查找单个 GET /book/_doc/1 #条件查询 GET /book/_search?qname:原理 GET /book/_search { query: { match: { name: 原理 } } } #数据过滤可以用来实现范围查询 GET /book/_search { query: { bool: { must: [ { match: { name: 计算机组成原理 } }, { match: { author: 冯诺依曼 } } ], filter: [ { range: { count: { gte: 0 } } } ] } } } #高亮显示 GET /book/_search { query: { match: { name: 原理 } }, highlight: { fields: { name: {} } } } 2.2.3.聚合操作
ES支持一些聚合操作常见的是用于统计中的
返回一个字段中不同值的出现次数。 GET /your_index/_search { size: 0, aggs: { terms_agg: { terms: { field: your_field_name } } } } 返回数值型字段的统计信息如计数、最小值、最大值、平均值和总和。 GET /your_index/_search { size: 0, aggs: { stats_agg: { stats: { field: your_numeric_field_name } } } } 根据指定的范围对数值型字段进行分组。 GET /your_index/_search { size: 0, aggs: { range_agg: { range: { field: your_numeric_field_name, ranges: [ { to: 50 }, { from: 50, to: 100 }, { from: 100 } ] } } } }