1.索引的创建方式
elasticsearch 提供了四种方式来创建索引。最简单的方式是使用索引API,它允许
用户发送一个文档至特定的索引。
第二种或第三种方式允许用户通过bulk API或UDP bulk API 来一次性发送多个
文档至集群。两者的区别在于网络的连接方式,前者使用HTTP协议,后者使用
UDP协议,且后者速度快,但是不可靠。
第四种方式使用插件发送数据,称为河流(river),river 运行在 elasticsearch
节点上,能够从外部系统获取数据。
需要注意,建索引操作只能发生在主分片上,而不是副本上。当把一个索引请求发送
至某节点时,如果该节点没有对应的主分片或者只有副本,那么这个请求会被转发
到拥有正确的主分片的节点。
2.查询数据
查询API占据了 elasticsearch API 的大部分内容,使用查询 DSL;
使用各种查询类型:包括简单的词项查询,短语查询,范围查询,布尔查询,模糊查询,
区间查询,通配符查询,空间查询。
组合简单查询构建复杂查询
文档过滤,在不影响评分的前提下抛弃那些不满足特定查询条件的文档。
查找与特定文档相似的文档。
查找特定短语的查询建议和拼写检查。
使用切面构建动态导航和计算各种统计量。
使用预搜索并查找与指定文档匹配的query集合。
查询分为两个阶段:分散阶段和合并阶段。分散阶段将query分发到包含相关文档的
多个分片中去执行查询,合并阶段则从众多分片中收集返回结果,然后对他们进行合并,
排序,后续处理,然后返回给客户端。
3.索引配置
可以自定义文档结构,设置索引的分片和副本数,定制文本分析过程。