飞道的博客

Elasticsearch7.9.3 入门-文档

428人阅读  评论(0)

目录

1.创建文档

2.修改文档

3.删除文档

4.删除文档-条件

5.修改字段

6.文档查询-全查询(全文检索)

7.文档查询-条件&分页&指定字段&排序

8.文档查询-多条件 and (must)

9.文档查询-多条件 or (should)

10.文档查询-全完匹配 (match_phrase)

11.文档查询-范围 (range)

12.排序字段设置


1.创建文档

    1) 索引已经创建好了接下来我们来创建文档,并添加数据.这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON格式

    在Postman中向ES服务器发POST请求:http://localhost:9200/shopping/_doc,此处发送请求的方式必须为POST,不能是PUT,否则会发生错误

{

     "ProdutName":"感抗",

     "Made":"吉林长春",

     "Spec":"10片/盒",

     "Price":10.5

}

    返回结果

  {

     "_index"【索引】: "shopping",

     "_type"【类型-文档】: "_doc",

     "_id"【唯一标识】: "Xhsa2ncBlvF_7lxyCE9G", #可以类比为 MySQL 中的主键,随机生成

  "_version"【版本】: 1,

  "result"【结果】: "created", #这里的 create 表示创建成功

  "_shards"【分片】: {

  "total"【分片 - 总数】: 2,

  "successful"【分片 - 成功】: 1,

  "failed"【分片 - 失败】: 0

 },

 "_seq_no": 0,

 "_primary_term": 1 }

    2) 指定ID创建文档,在Postman中向ES服务器发POST请求:http://localhost:9200/shopping/_doc/1001

2.修改文档

    和新增文档一样输入相同的URL地址请求如果请求体变化会将原有的数据内容覆盖

    在Postman中向ES服务器发POST请求http://localhost:9200/shopping/_doc/1001

    

3.删除文档

    删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除)

    Postman中向ES服务器发DELETE请求http://localhost:9200/shopping/_update/1001

    

4.删除文档-条件

    一般删除数据都是根据文档的唯一性标识进行删除,实际操作时,也可以根据条件对多条数据进行删除

    向ES服务器发POST请求http://localhost:9200/shopping/_delete_by_query    


  
  1. {
  2. "query":{
  3. "match":{
  4. "Made": "吉林长春"
  5. }
  6. }
  7. }

    

5.修改字段

    修改数据时,也可以只修改某一给条数据的局部信息

    在Postman中向ES服务器发POST请求http://localhost:9200/shopping/_update/1001

    

6.文档查询-全查询(全文检索)

    1) 在Postman中向ES服务器发POST/GET请求http://localhost:9200/shopping/_search

    返回结果如下:


  
  1. {
  2. "took" : 19, 【查询花费时间,单位毫秒】
  3. "timed_out": false, 【是否超时】
  4. "_shards": { 【分片信息】
  5. "total": 1, 【总数】
  6. "successful": 1,【成功】
  7. "skipped": 0, 【忽略】
  8. "failed": 0 【失败】
  9. },
  10. "hits": { 【搜索命中结果】
  11. "total": { 【搜索条件匹配的文档总数】
  12. "value": 1, 【总命中计数的值】
  13. "relation": "eq" 【计数规则】# eq 表示计数准确, gte 表示计数不准确
  14. },
  15. "max_score": 1.0,【匹配度分值】
  16. "hits": [{}] 【命中结果集合】
  17. }
  18. }

    2) 查询所有POST请求http://localhost:9200/shopping/_search        


  
  1. {
  2. "query":{
  3. "match_all":{}
  4. }
  5. }

    

7.文档查询-条件&分页&指定字段&排序

    1) 条件:POST请求http://localhost:9200/shopping/_search? q=Made:吉林长春

        

    2) 条件:match: POST请求http://localhost:9200/shopping/_search        


  
  1. {
  2. "query":{
  3. "match":{
  4. "Made": "吉林长春"
  5. }
  6. }
  7. }

  

    3) 分页&指定字段&排序,POST请求http://localhost:9200/shopping/_search 


  
  1. {
  2. "query":{
  3. "match_all":{}
  4. },
  5. "from": 0, //第几页
  6. "size": 2, //页大小
  7. "_source":[ "Made"], //指定显示字段
  8. "sort":[{
  9. "Made":{
  10. "order": "desc"
  11. }
  12. }
  13. ]
  14. }

  

8.文档查询-多条件 and (must)

    POST请求http://localhost:9200/shopping/_search    


  
  1. {
  2. "query":{
  3. "bool":{
  4. "must": [
  5. {
  6. "match":{
  7. "ProductName": "感康"
  8. }
  9. },
  10. {
  11. "match":{
  12. "Spec": "20"
  13. }
  14. }
  15. ]
  16. }
  17. }
  18. }

9.文档查询-多条件 or (should)

    POST请求http://localhost:9200/shopping/_search    


  
  1. {
  2. "query":{
  3. "bool":{
  4. "should": [
  5. {
  6. "match":{
  7. "Spec": "10"
  8. }
  9. },
  10. {
  11. "match":{
  12. "Spec": "20"
  13. }
  14. }
  15. ]
  16. }
  17. }
  18. }

10.文档查询-全完匹配 (match_phrase)

    按单词匹配查询所有,POST请求http://localhost:9200/shopping/_search


  
  1. {
  2. "query":{
  3. "match_phrase":{
  4. "Made": "吉林长春"
  5. }
  6. }
  7. }

11.文档查询-范围 (range)

    POST请求http://localhost:9200/shopping/_search    


  
  1. {
  2. "query":{
  3. "range":{
  4. "Price":{
  5. "gte": 11,
  6. "lte": 13
  7. }
  8. }
  9. }
  10. }

12.排序字段设置

   PUT请求http://localhost:9200/product/_mapping   


  
  1. {
  2. "properties":{
  3. "Spec":{
  4. "type": "text",
  5. "fielddata": true
  6. }
  7. }
  8. }

 


转载:https://blog.csdn.net/wang_peng/article/details/116994340
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场