此文章的所有访问操作都需要使用Apifox等接口调用软件

一、基本语法操作

1.创建索引

  1. http://192.168.87.128:9200/shopping

2.elasticsearch的基本操作语法 - 图1

2.查询单个索引

  1. http://192.168.87.128:9200/shopping

2.elasticsearch的基本操作语法 - 图2

3.删除单个索引

  1. http://192.168.87.128:9200/shopping

2.elasticsearch的基本操作语法 - 图3

二、高级使用

1.文档创建

  1. http://192.168.87.128:9200/dept/_doc
  1. {
  2. "id": 3,
  3. "parentId": 0,
  4. "deptName": "通讯部",
  5. "orderCode": "0002",
  6. "isStart": 1,
  7. "address": "北京大街120号",
  8. "description": "通讯部门"
  9. }

2.elasticsearch的基本操作语法 - 图4

2.指定id创建文档

当没有指定id时创建文档,会随机生成字符串id,如下
2.elasticsearch的基本操作语法 - 图5
当需要指定创建文档的id时,只需要吧路径改成下列路径即可

  1. http://192.168.87.128:9200/dept/_doc/1008

路径后面增加指定的id

2.elasticsearch的基本操作语法 - 图6

3.全局查询

  1. http://192.168.87.128:9200/dept/_search

2.elasticsearch的基本操作语法 - 图7

4.指定id查询

  1. http://192.168.87.128:9200/dept/_doc/1001

2.elasticsearch的基本操作语法 - 图8

5.指定字段查询

5.1关键字段查询

2.elasticsearch的基本操作语法 - 图9

  1. //查询地址带有“上海”字段的数据
  2. {
  3. "query":{
  4. "match":{
  5. "address":"上海"
  6. }
  7. }
  8. }

2.elasticsearch的基本操作语法 - 图10

5.2查询所有

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

2.elasticsearch的基本操作语法 - 图11

5.3查询指定字段

  1. {
  2. "query": {
  3. "match_all": {}
  4. },
  5. "_source":["deptName","address"]
  6. }

2.elasticsearch的基本操作语法 - 图12

5.4分页查询

  1. {
  2. "query": {
  3. "match_all": {}
  4. },
  5. "from": 0,
  6. "size": 3
  7. }

返回下列信息

  1. {
  2. "took": 1,
  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": 8, //共有8条数据
  13. "relation": "eq"
  14. },
  15. "max_score": 1,
  16. "hits": [
  17. {
  18. "_index": "dept",
  19. "_type": "_doc",
  20. "_id": "m2A0yYAB3wdmtvVQI2j-",
  21. "_score": 1,
  22. "_source": {
  23. "id": 3,
  24. "parentId": 0,
  25. "deptName": "通讯部",
  26. "orderCode": "0002",
  27. "isStart": 1,
  28. "address": "北京大街120号",
  29. "description": "通讯部门"
  30. }
  31. },
  32. {
  33. "_index": "dept",
  34. "_type": "_doc",
  35. "_id": "1001",
  36. "_score": 1,
  37. "_source": {
  38. "id": 1002,
  39. "parentId": 0,
  40. "deptName": "销售部",
  41. "orderCode": "1002",
  42. "isStart": 1,
  43. "address": "北京大街110号",
  44. "description": "销售部门"
  45. }
  46. },
  47. {
  48. "_index": "dept",
  49. "_type": "_doc",
  50. "_id": "1002",
  51. "_score": 1,
  52. "_source": {
  53. "id": 1001,
  54. "parentId": 0,
  55. "deptName": "技术部",
  56. "orderCode": "0002",
  57. "isStart": 1,
  58. "address": "北京大街120号",
  59. "description": "技术部"
  60. }
  61. }
  62. ]
  63. }
  64. }

5.5排序查询

注意排序的字段必须为文档中的关键字,否则可能会报错

  1. {
  2. "query": {
  3. "match_all": {}
  4. },
  5. "sort": {
  6. "id":{
  7. "order":"desc"
  8. }
  9. }
  10. }

2.elasticsearch的基本操作语法 - 图13

6.多条件查询

  1. {
  2. "query":{
  3. "bool":{
  4. "must":[
  5. {
  6. "match":{
  7. "deptName":"销售"
  8. }
  9. },
  10. {
  11. "match":{
  12. "address":"北京"
  13. }
  14. }
  15. ]
  16. }
  17. }
  18. }
  1. bool代表条件
  2. must代表条件组合相当于and2.elasticsearch的基本操作语法 - 图14
  1. {
  2. "query":{
  3. "bool":{
  4. "should":[
  5. {
  6. "match":{
  7. "deptName":"销售"
  8. }
  9. },
  10. {
  11. "match":{
  12. "deptName":"技术"
  13. }
  14. }
  15. ]
  16. }
  17. }
  18. }
  1. should相当于or,查询销售部和技术部数据

2.elasticsearch的基本操作语法 - 图15

7. 范围查询

  1. {
  2. "query":{
  3. "bool":{
  4. "should":[
  5. {
  6. "match":{
  7. "deptName":"销售"
  8. }
  9. },
  10. {
  11. "match":{
  12. "deptName":"技术"
  13. }
  14. }
  15. ],
  16. "filter":{
  17. "range":{
  18. "id":{
  19. "gt":1001
  20. }
  21. }
  22. }
  23. }
  24. }
  25. }
  1. filter代表范围查询
  2. gt代表大约,lt代表小于
    2.elasticsearch的基本操作语法 - 图16