美文网首页
ElasticSearch Memo

ElasticSearch Memo

作者: 国服最坑开发 | 来源:发表于2021-10-29 18:28 被阅读0次

0x00 特性

  • 支持 RESTful 接口请求 es
  • 出入参json格式

0x01 和表对比

ES -> MySQL
Index -> DataBase
Type -> Table
Document -> Row
Fields -> Column

0x02 倒排索引

关键字对 index id 做索引

keyword id

name 1001, 1002

0x03 创建索引

使用PUT, 可以创建索引

curl -XPUT localhost:9200/shopping
{"acknowledged":true,"shards_acknowledged":true,"index":"shopping"}

查看索引

curl localhost:9200/shopping
{"shopping":{"aliases":{},"mappings":{},"settings":{"index":{"routing":{"allocation":{"include":{"_tier_preference":"data_content"}}},"number_of_shards":"1","provided_name":"shopping","creation_date":"1635498010276","number_of_replicas":"1","uuid":"C2RNOYlKTguLpDywTkpRHQ","version":{"created":"7130499"}}}}}

查看所有索引

curl 'localhost:9200/_cat/indices?v'
health status index                                                uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   ui_template                                          Jfv-9EF6Q-qV45ASibvdMw   1   1          0            0       208b           208b
yellow open   browser_app_error_sum-20210804                       4Vr-I_koRteHTRC5jzSDTw   1   1          0            0       208b           208b
yellow open   service_instance_resp_time-20210804                  CHqQxEazQAmfDhs1GV352w   1   1          0            0       208b           208b
yellow open   browser_error_log-20210804                           xBtfwjLrTiStliZChsz_Sg   1   1          0            0       208b           208b

删除索引

curl -XDELETE localhost:9200/shopping
{"acknowledged":true}%

0x04 文档操作

添加一条文档

curl -XPOST localhost:9200/shopping/_doc -d '{"name":"嘿嘿"}' -H 'content-type:application/json'
{"_index":"shopping","_type":"_doc","_id":"N3xXy3wBm2xQb2VvOxWZ","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}%

创建成功后, _id 是这条数据的唯一标识,由系统生成, _index 是数据库标识

指定 _id, 提交数据:

curl -XPOST localhost:9200/shopping/_doc/1000 -d '{"name":"嘿嘿"}' -H 'content-type:application/json'
{"_index":"shopping","_type":"_doc","_id":"1000","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1}%

指定id查询

curl localhost:9200/shopping/_doc/1000
{"_index":"shopping","_type":"_doc","_id":"1000","_version":1,"_seq_no":1,"_primary_term":1,"found":true,"_source":{"name":"嘿嘿"}}%

查询全文档

curl localhost:9200/shopping/_search
{"took":29,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":2,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"shopping","_type":"_doc","_id":"N3xXy3wBm2xQb2VvOxWZ","_score":1.0,"_source":{"name":"嘿嘿"}},{"_index":"shopping","_type":"_doc","_id":"1000","_score":1.0,"_source":{"name":"嘿嘿"}}]}}%

全表更新文档 PUT

curl -XPUT localhost:9200/shopping/_doc/1000 -d '{"name":"嘿嘿","age":18}' -H 'content-type:application/json'
{"_index":"shopping","_type":"_doc","_id":"1000","_version":2,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":1}%

指定信息更新 POST

curl -XPOST localhost:9200/shopping/_update/1000 -d '{"doc": {"name":"嘿嘿22","age":28}}' -H 'content-type:application/json'
{"_index":"shopping","_type":"_doc","_id":"1000","_version":3,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":3,"_primary_term":1}%

删除文档

curl -XDELETE localhost:9200/shopping/_doc/1000
{"_index":"shopping","_type":"_doc","_id":"1000","_version":4,"result":"deleted","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":4,"_primary_term":1}

按字段查询// 失败

curl 'localhost:9200/shopping/_search?q=name:aa'
{"took":1,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":null,"hits":[]}}

在请求体里查询 // 失败 where name = aa

curl -XGET localhost:9200/shopping/_search -d '{"query": {"match": {"name":"aa"}}}' -H 'content-type:application/json'
{"took":1,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":null,"hits":[]}}

在请求体查询所有记录 select * from shopping

curl -XGET localhost:9200/shopping/_search -d '{"query": {"match_all": {}}}' -H 'content-type:application/json'
{"took":1,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":4,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"shopping","_type":"_doc","_id":"N3xXy3wBm2xQb2VvOxWZ","_score":1.0,"_source":{"name":"嘿嘿"}},{"_index":"shopping","_type":"_doc","_id":"1001","_score":1.0,"_source":{"doc": {"name":"aa","age":28}}},{"_index":"shopping","_type":"_doc","_id":"1002","_score":1.0,"_source":{"doc": {"name":"bb","age":28}}},{"_index":"shopping","_type":"_doc","_id":"1003","_score":1.0,"_source":{"doc": {"name":"ab","age":28}}}]}}%

分页查询, select * from shopping limit 0, 1

 curl -XGET localhost:9200/shopping/_search -d '{"query": {"match_all": {}},"from":0,"size":1}' -H 'content-type:application/json'
{"took":1,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":4,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"shopping","_type":"_doc","_id":"N3xXy3wBm2xQb2VvOxWZ","_score":1.0,"_source":{"name":"嘿嘿"}}]}}%

指定返回列 , select name from shopping limit 0,1

curl -XGET localhost:9200/shopping/_search -d '{"query": {"match_all": {}},"from":0,"size":1, "_source":["name"]}' -H 'content-type:application/json'
{"took":1,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":4,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"shopping","_type":"_doc","_id":"N3xXy3wBm2xQb2VvOxWZ","_score":1.0,"_source":{"name":"嘿嘿"}}]}}

排序: order by age desc

curl -XGET localhost:9200/shopping/_search -d '{"query": {"match_all": {}},"from":0,"size":1, "_source":["name"], "sort":{ "age" : {"order":"desc"}}}' -H 'content-type:application/json'
{"took":11,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":4,"relation":"eq"},"max_score":null,"hits":[{"_index":"shopping","_type":"_doc","_id":"N3xXy3wBm2xQb2VvOxWZ","_score":null,"_source":{"name":"嘿嘿"},"sort":[-9223372036854775808]}]}}%

相关文章

  • ElasticSearch Memo

    0x00 特性 支持 RESTful 接口请求 es 出入参json格式 0x01 和表对比 ES -> MySQ...

  • elasticsearch 出现max virtual memo

    启动elasticsearch日志出现一下问题Ubuntu elasticsearch max virtual m...

  • 如何使用React.memo()

    目录 包装函数 PureComponent React.memo() React.memo() 与Redux 其他...

  • React.memo()

    React 16.6.0 正式发布 React.memo() React.memo() 是什么? React.me...

  • 337. House Robber III

    需要memo

  • Hooks进阶

    React.memo、useMemo、useCallback 的区别 React.memo 是对传入的 props...

  • Memo

    To:All staff From:Joe Date:14 July 2010 Subject:Extension...

  • Memo

    卑微的生存在这孤独的城市,幸好有你,世间冷暖,有些人会关心你,有些人会算计你,你也许计较,也许不当回事,这只是老天...

  • memo

    To: Mr.Smith From:Department of Human Resoutces Date: Dec...

  • Memo

    总有一些事情,挥之不去,萦绕心头。也许,那才是正在打动我的地方,那才是我的追求所在,如今,一无所剩,独自向前。时常...

网友评论

      本文标题:ElasticSearch Memo

      本文链接:https://www.haomeiwen.com/subject/agnialtx.html