elastic search:
- lucence 搜索引擎库
- 节点是一个运行着的elastic search实例
- 集群是节点的集合
- 面向文档,可以存储,可以索引每个文档内容
- elastic search集群包含多个索引,一个索引包含多个类型,一个类型包含多个文档,每个文档包含多个字段。
- 查询可以使用query string作为参数,也可是使用请求体,query match
- elastic search可以进行分析,即实现聚合。(多条件查询语句也不难,使用aggs,聚合可以使用过滤器)
- elastic search致力于隐藏分布式系统的复杂性,一切都是在底层完成的。
- 模糊查询用的match,精准查询使用match phrase的。
节点客户端 加入集群,不存储数据,转发请求到相应节点
传输客户端 不加入集群,转发请求给节点
elasticsearch理解:
elastic search索引文档:
- 使用了shell脚本:
shell脚本语言:
if [ -f /bin/bash ]
then echo “/bin/bash is a file”
else echo “/bin/bash is NOT a file”
fi - shell脚本可以直观在文件中修改内容,然后再执行文件。
- es包括settings和mappings
- shard索引分片,在索引创建的时候指定,分成多个分片,构成分布式搜索
- 索引index:
这个参数可以控制字段应该怎样建索引,怎样查询。它有以下三个可用值:
no: 不把此字段添加到索引中,也就是不建索引,此字段不可查询
not_analyzed:将字段的原始值放入索引中,作为一个独立的term,它是除string字段以外的所有字段的默认值。
analyzed:string字段的默认值,会先进行分析后,再把分析的term结果存入索引中。 - “fielddata”: {“loading”: “eager”},告诉elasticsearch预先加载这个field的内容到内存里,提高查询效率。