-
Elasticsearch是什么?跟mysql的区别
(1)elasticsearch是一个分布式、高性能、高可用、可伸缩的搜索和分析系统。 面向文档的nosql数据库,使用的格式是json,轻松的横向扩展,可支持PB级的结构化或非结构化数据处理(2)ElasticSearch是一个分布式搜索引擎,作为新生代NoSQL数据库代表之一,非常适合于非结构化文档类数据存储、更创新支持智能分词匹配模糊查询
mysql为关系型数据库是当下Web应用开发中最流行的关系型数据库应用广泛,在数据查询场景下,默认返回所有满足匹配条件的记录
-
Elasticsearch中的类型都是什么?
String分为两种
text 可分词,不可参与聚合keyword:不可分词,数据会作为完整字段进行匹配,可以参与聚合 Numberical:数值类型分两类 基本数据类型:long、integer、short、byte、double、float、half_float 浮点数的高精度类型:scaled_float Date:日期类型
-
Elasticsearch怎么创建索引库,怎么删除索引库,怎么查看索引库
(1)Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求
创建索引请求的格式:
请求方式:PUT
请求路径:/索引库名
请求参数:json格式(2)删除索引使用DELETE请求
删除索引的格式: DELETE /索引库名
(3)查看索引
查看索引的格式: GET /索引库名
-
Elasticsearch怎么创建映射,怎么查看映射,
(1)创建映射
请求方式:PUT
PUT /索引库名/_mapping/类型名称
type:类型,可以是text、long、short、date、integer、object等
index:是否索引,默认为true
store:是否存储,默认为false
analyzer:分词器,这里的ik_max_word即使用ik分词器(2)查看映射
GET /索引库名/_mapping
-
Elasticsearch怎么插入数据,怎么修改数据,怎么删除数据
(1)插入数据
POST /索引库名/类型名
{
“key”:“value”
}
自定义id插入数据
POST /索引库名/类型/id值
{
…
}(2)修改数据
PUT /索引库名/类型名/id
{
"key":"value"
}
(3)删除数据
DELETE /索引库名/类型名/id值
-
Elasticsearch中搜索都有哪几种模式,分别介绍一下
1、query string search搜索全部商品:GET /ecommerce/product/_search
2、query DSL
DSL:Domain Specified Language,特定领域的语言
3、query filter
对数据进行过滤
4、full-text search
full-text search(全文检索)
5、phrase search
phrase search(短语搜索)
6、highlight search
highlight search(高亮搜索结果)
-
Elasticsearch中聚合是什么意思,桶是什么意思,度量是什么意思
(1)Elasticsearch中的聚合,包含多种类型,最常用的两种,一个叫桶,一个叫度量:
(2)桶的作用,是按照某种方式对数据进行分组,每一组数据在ES中称为一个桶(3)分组完成以后,我们一般会对组中的数据进行聚合运算,例如求平均值、最大、最小、求和等,这些在ES中称为度量
-
请写出一个聚合查询的语句,并解释含义
GET /索引库/_search{
"size" : 0, "aggs" : { "popular_colors" : { "terms" : { "field" : "color" } } }
}
size: 查询条数
aggs: aggregations的缩写
popular_colors:给这次聚合起一个名字,任意。
terms:桶方式,根据词条划分
field:桶字段
-
请写出一个嵌套聚合查询的语句,并解释含义
GET /索引库/_search{
"size" : 0, "aggs" : { "popular_colors" : { "terms" : { "field" : "color" }, "aggs":{ "avg_price": { "avg": { "field": "price" } }, "maker":{ "terms":{ "field":"make" } } } } }
}
size: 查询条数
aggs: aggregations的缩写
popular_colors:给这次聚合起一个名字,任意。
terms:桶方式,根据词条划分
field:桶字段
aggs:我们在上一个aggs(popular_colors)中添加新的aggs。可见度量也是一个聚合
avg_price:聚合的名称
avg:度量的类型,这里是求平均值
field:度量运算的字段
maker:在嵌套的aggs下新添一个桶,叫做maker
terms:桶的划分类型依然是词条
filed:这里根据make字段进行划分
-
Elasticsearch中的端口号都有哪些,kinbana是干什么的?
(1)9200:9200 作为 Http 协议,主要用于外部通讯
(2)9300:9300 作为 Tcp 协议,jar 之间就是通过 tcp 协议通讯。
ES 集群之间是通过 9300 进行通讯。
(3)Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。
而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。
Elasticsearch相关面试题
最新推荐文章于 2024-08-09 11:02:43 发布