Elasticsearch常见面试题总结10道

Elasticsearch常见面试题总结10道

1. Elasticsearch是什么?跟mysql的区别(1) :Elasticsearch 是一个分布式的、开源的搜索分析引擎,支持各种数据类型,包括文 本、数字、地理、结构化、非结构化。(2) 1. MySQL:关系型数据库,主要面向OLTP,支持事务,支持二级索引,支持sql,支持主从、Group Replication架构模型(本文全部以Innodb为例,不涉及别的存储引擎     2.ElasticSearch:ES是一款分布式的全文检索框架,底层基于Lucene实现,天然分布式,p2p架构,不支持事务,采用倒排索引提供全文检索。2. Elasticsearch中的类型都是什么?1. 数据类型 2. 2.核心类型(字符串类型,整数类型,浮点类型,date类型,binary类型,array类型,object类型,ip类型)3. Elasticsearch怎么创建索引库,怎么删除索引库,怎么查看索引库创建索引库:curl -X PUT删除索引库:curl -X DELETE http:+(要删除的索引库的名)查看索引库:curl 'localhost:9200/_cat/indices?v’4. Elasticsearch怎么创建映射,怎么查看映射,怎么删除映射// 创建client.admin().indices().prepareCreate(“blog2”).get();// 查看curl -XGET ‘localhost:9200/users/_mapping?pretty’// 删除//client.admin().indices().prepareDelete(“blog2”).get(); 5. Elasticsearch怎么插入数据,怎么修改数据,怎么删除数据1. 插入数据   通过POST请求,可以向一个已经存在的索引库中添加数据。   语法:       POST /索引库名/类型名       {           “key”:“value”       }   修改数据   把刚才新增的请求方式改为PUT,就是修改了。不过修改必须指定id,   - id对应文档存在,则修改   - id对应文档不存在,则新增     删除数据     删除使用DELETE请求,同样,需要根据id进行删除:     语法      DELETE /索引库名/类型名/id值6. Elasticsearch中搜索都有哪几种模式,分别介绍一下  1、query string search搜索全部商品:GET /ecommerce/product/_search2、query DSLDSL:Domain Specified Language,特定领域的语言3、query filter对数据进行过滤4、full-text searchfull-text search(全文检索)5、phrase searchphrase search(短语搜索)6、highlight search7、highlight search(高亮搜索结果)7. Elasticsearch中聚合是什么意思,桶是什么意思,度量是什么意思聚合是一种基于查询条件对数据进行分桶、计算的方法。桶是对文档进行分组操作,把满足相关特性的文档分到一个桶里,即桶分。输出结果是包含多个 文档的桶。度量是主要针对数值类型的字段,类似于关系型数据库中的sum、avg、max、min等聚合类型8. 请写出一个聚合查询的语句,并解释含义聚合查询,统计不同组织的量:GET  apt.ioc.refer_data/_search
{
    “size”: 0, 
    “aggs”: {
      “SalesNum”: { 
        “terms”: {
          “field”: “company_name.keyword”,
          “size”: 100
        }
      }
    }
}9. 请写出一个嵌套聚合查询的语句,并解释含义GET /lib4/items/_search { “size”: 0, “aggs”: { “price_of_max”: { “max”: { “field”: “price” } } } } 查询全部 10. Elasticsearch中的端口号都有哪些,kinbana是干什么的?端口号:9300和9200Kinbana:是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

你可能感兴趣的:(java)