1.es建立索引:curl -XPUT 'http://10.xx.xx.xx:9200/索引名称'。
2.es查询所有索引:curl -XGET 'http://10.xx.xx.xx:9200/_cat/indices?v'
3.es查询单个索引内容:curl -XGET 'http://10.xx.xx.xx:9200/索引名称/_search?pretty=true'。
还有一种带时间的情况>curl -XGET 'http://10.xx.xx.xx:9200/索引名称-2018-08-01/_search?pretty=true'
4.es删除某个索引下的内容,curl -XDELETE 'http://10.xx.xx.xx:9200/索引名称?pretty'
以上是linux命令行 *** 作,如果是连接内网的情况下,直接将引号的内容复制到浏览器请求就可以返回数据,查看效果比linux好。
查询,GET某一条数据,写入了某个document,这个document会自动给你分配一个全局唯一的id,doc id,同时也是根据doc id进行hash路由到对应的primary shard上面去。也可以手动指定doc id,比如用订单id,用户id。
我们可以通过doc id来查询,会根据doc id进行hash,判断出来当时把doc id分配到了哪个shard上面去,从那个shard去查询
1)客户端发送请求到任意一个node,成为coordinate node(协调结点)
2)coordinate node进行hash后对document进行路由,将请求转发到对应的node,此时会使用round-robin 随机轮询算法 ,在primary shard以及其所有replica node中 随机选择一个 ,让读请求负载均衡
3)接收请求的node返回document给coordinate node
4)coordinate node返回document给客户端
es最强大的是做全文检索,就是比如你有三条数据
java真好玩儿啊
java好难学啊
j2ee特别牛
你根据java关键词来搜索,将包含java的document给搜索出来
es就会给你返回:java真好玩儿啊,java好难学啊
1)客户端发送请求到一个coordinate node
2)协调节点 将搜索请求转发到 所有的shard 对应的primary shard或replica shard
3)query phase: 每个shard将自己的搜索结果 (其实就是一些 doc id ), 返回给协调节点 ,由协调节点进行数据的 合并、排序、分页 等 *** 作,产出最终结果
4)fetch phase:接着由 协调节点,根据doc id去各个节点上拉取实际的document数据 ,最终返回给客户端
尤其要注意的这里是先拿的id哟
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)