这篇文章主要介绍“Elasticsearch文档索引的增删改查方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Elasticsearch文档索引的增删改查方法”文章能帮助大家解决问题。
0 接口幂等性:数学概念,多次请求,相当于一次请求
get,put,delete都是幂等性的接口
post 存在幂等性的问题
前端速度很快,点了两次,会生成两个订单
用户在访问新增页面时(提交订单)---》接口返回一个唯一id,提交订单,携带唯一id过来,后端判断这个唯一id是否被用过---》没用过,创建订单
你在项目中碰到的问题和如何解决(项目收获)下订单,经常重复订单,点得快,幂等性问题,如何解决的
1.es介绍10个点
2.安装
-jdk :java开发环境
官网下载es相应的版本,解压,到bin目录下启动elasticsearch.bat
两个客户端(kibana:官方,发送请求,数据统计,展示,elasticsearch-head:第三方用node写的)
kibana跟es版本对应,bin路径下,直接启动
elasticsearch-head需要安装node环境,npm install ---》npm run start
kibana配置文件配置(copy一下,kibana监听的地址端口,随便名一个名,连接es的地址)
修改es配置:允许跨域(浏览器的同源策略),cors:跨域资源共享,实现跨域
es的倒排索引(扩展阅读.md)
把文章进行分词,对每个词建立索引
# 索引操作---》数据库操作---》新增,删除,修改,查询 # 1 新增索引: PUT lqz2 # lqz2就是索引名字 { "settings": { "index":{ "number_of_shards":5, "number_of_replicas":1 } } } # 2 查询索引 GET lqz2/_settings 返回结果 { "lqz2" : { "settings" : { "index" : { "creation_date" : "1588822389842", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "NBXIeVdHQ26vCuPn8_6uew", "version" : { "created" : "7050099" }, "provided_name" : "lqz2" } } } } # 3 更新索引 PUT lqz2/_settings { "number_of_replicas": 2 } #4 删除lqz2索引 DELETE lqz2
#1 新增文档 POST lqz2/_doc/1 { "title":"红楼梦", "price":12, "publish_addr":{ "province":"黑龙江", "city":"鹤岗" }, "publish_date":"2013-11-11", "read_num":199, "tag":["古典","名著"] } POST lqz2/_doc/2 { "title":"西游记", "price":22, "publish_addr":{ "province":"上海", "city":"上海" }, "publish_date":"2013-11-11", "read_num":66, "tag":["古典","小说"] } # 2 查询文档(更详细的查找,后面讲) GET lqz2/_doc/2 # 3 修改文档 -覆盖式(原来的字段就没有了) PUT lqz/_doc/1 { "title":"xxxx", "price":333, "publish_addr":{ "province":"黑龙江", "city":"福州" } } -增量式(只修改某个字段)一定要注意包在doc中 POST lqz2/_doc/1/_update { "doc":{ "title":"xx" } } # 4 删除文档 DELETE lqz/_doc/1 # 5 批量获取 GET _mget { "docs":[ { "_index":"lqz2", "_type":"_doc", "_id":2 }, { "_index":"lqz2", "_type":"_doc", "_id":1 } ] } # 6 批量插入 PUT test/_doc/2/_create { "field1" : "value22" } POST _bulk { "index" : { "_index" : "test", "_id" : "1" } } { "field1" : "value1" } { "delete" : { "_index" : "test", "_id" : "2" } } { "create" : { "_index" : "test", "_id" : "3" } } { "field1" : "value3" } { "update" : {"_id" : "1", "_index" : "test"} } { "doc" : {"field2" : "value2"} }
# 测试数据 PUT lqz/doc/1 { "name":"顾老二", "age":30, "from": "gu", "desc": "皮肤黑、武器长、性格直", "tags": ["黑", "长", "直"] } PUT lqz/doc/2 { "name":"大娘子", "age":18, "from":"sheng", "desc":"肤白貌美,娇憨可爱", "tags":["白", "富","美"] } PUT lqz/doc/3 { "name":"龙套偏房", "age":22, "from":"gu", "desc":"mmp,没怎么看,不知道怎么形容", "tags":["造数据", "真","难"] } # 两种方式 -第一种(字符串查询) GET lqz/doc/_search?q=from:gu GET lqz/doc/_search?q=age:22 -查询的第二种方式(结构化) GET lqz/doc/_search { "query": { "match": { "from": "gu" } } } GET lqz/doc/_search { "query": { "match": { "age": 22 } } } GET lqz/doc/_search { "query": { "match": { "desc": "形容" } } } GET lqz/doc/_search { "query": { "match": { "tags": "造数据" } } }
关于“Elasticsearch文档索引的增删改查方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。