赞
踩
ES面试基础知识要点(挺好)
1:es介绍
Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,
能够达到实时搜索,稳定,可靠,快速,安装使用方便。基于RESTful接口。
普通请求是...get?a=1
rest请求....get/a/1
2:全文搜索的工具有哪些
Lucene Solr Elasticsearch
3:es的bulk的引用场景
1.bulk API可以帮助我们同时执行多个请求
2.create 和index的区别
如果数据存在,使用create操作失败,会提示文档已经存在,使用index则可以成功执行。
3.可以使用文件操作
使用文件的方式
vi requests
curl -XPOST/PUT localhost:9200/_bulk --data-binary @request;
bulk请求可以在URL中声明/_index 或者/_index/_type
4.bulk一次最大处理多少数据量
bulk会把将要处理的数据载入内存中,所以数据量是有限制的
最佳的数据量不是一个确定的数值,它取决于你的硬件,你的文档大小以及复杂性,你的索引以及搜索的负载
一般建议是1000-5000个文档,如果你的文档很大,可以适当减少队列,大小建议是5-15MB,默认不能超过100M,
可以在es的配置文件中修改这个值http.max_content_length: 100mb
5.版本控制的一个问题
在读数据与写数据之间如果有其他线程进行写操作,就会出问题,es使用版本控制才避免这种问题。
在修改数据的时候指定版本号,操作一次版本号加1。
6.es的两个web访问工具
BigDesk Plugin (作者 Lukáš Vlček) 简介:监控es状态的插件,推荐!主要提供的是节点的实时状态监控,包括jvm的情况,linux的情况,elasticsearch的情况
Elasticsearch Head Plugin (作者 Ben Birch) 简介:很方便对es进行各种操作的客户端。
4:核心概念
集群 cluster***
代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。
主节点的职责是负责管理集群状态,包括管理分片的状态和副本的状态,以及节点的发现和删除。只需要在同一个网段之内启动多个es节点,就可以自动组成一个集群。默认情况下es会自动发现同一网段内的节点,自动组成集群。
分片 shards*
代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。
可以在创建索引库的时候指定
curl -XPUT 'localhost:9200/test1/' -d'{"settings":{"number_of_shards"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。