Rumah >pembangunan bahagian belakang >tutorial php >Ringkaskan operasi asas ElasticSearch! Sangat terperinci!

Ringkaskan operasi asas ElasticSearch! Sangat terperinci!

藏色散人
藏色散人ke hadapan
2022-12-07 16:37:226403semak imbas

es alamat muat turun
IK word segmenter alamat muat turun

Indeks

  • Buat indeks
    Berbanding dengan pangkalan data hubungan, mencipta indeks adalah bersamaan dengan mencipta pangkalan data
      PUT请求
      http://127.0.0.1:9200/shopping
  • Mempertanyakan indeks
      GET请求
      http://127.0.0.1:9200/shopping
  • Mempertanyakan semua indeks
      GET请求
      http://127.0.0.1:9200/_cat/indices?v
  • Memadamkan indeks
      DELETE请求
      http://127.0.0.1:9200/shopping

Dokumen

Indeks telah dibuat Seterusnya, kami mencipta dokumen dan menambah data. Dokumen di sini boleh dibandingkan dengan data jadual dalam pangkalan data hubungan Format data yang ditambahkan ialah format JSON

  • Buat dokumen

      POST请求
      http://127.0.0.1:9200/shopping/_doc #写法一
      http://127.0.0.1:9200/shopping/_create # 写法二  {"name":"商品"}
      PUT请求,主键必须幂等性
      http://127.0.0.1:9200/shopping/_doc/1001 #写法一
      http://127.0.0.1:9200/shopping/_create/1002 # 写法二  {"name":"商品"}
      POST请求 ,创建自定义id
      http://127.0.0.1:9200/shopping/_doc/1001
  • Pertanyaan kunci utama

      GET请求
      http://127.0.0.1:9200/shopping/_doc/1001
  • Pertanyaan penuh

      GET请求
      http://127.0.0.1:9200/shopping/_search
  • Pengubahsuaian penuh

      PUT请求
      http://127.0.0.1:9200/shopping/_doc/1001
      {"name":"商品"}
  • Pengubahsuaian separa

      POST请求
      http://127.0.0.1:9200/shopping/_update/1001
      {"doc":{"name":"局部修改商品"}}
  • Padam

      DELETE请求
      http://127.0.0.1:9200/shopping/_doc/1001

    Pertanyaan

  • Pertanyaan bersyarat

      GET请求,方法一
      http://127.0.0.1:9200/shopping/_search?q=category:小米
      http://127.0.0.1:9200/shopping/_search?q=name:商品
      GET请求,方法二(推荐)
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match":{
                  "category":"小米"
              }
          }
      }
  • Pertanyaan penuh

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match_all":{
              }
          }
      }
  • Pertanyaan halaman (daripada, saiz)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match_all":{
              }
          },
          "from":0,#起始位置/偏移量 ,公式:(页码-1)* 每页数据条数      "size":10,#每页查询10条  }
  • Nyatakan pertanyaan paging medan (_source)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match_all":{
              }
          },
          "from":0,#起始位置/偏移量 ,公式:(页码-1)* 每页数据条数      "size":10,#每页查询10条      "_source":["title"]
      }

    Isih pertanyaan (isih)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match_all":{
              }
          },
          "from":0,#起始位置/偏移量 ,公式:(页码-1)* 每页数据条数      "size":10,#每页查询10条      "_source":["title"],
          "sort":{
              "price":{
                  "order":"desc"
              }
          }
      }

    Pertanyaan berbilang keadaan

  • dan pertanyaan (mesti)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "bool":{
                  "must":[ 
                      {
                          "match":{
                              "category":"小米"
                          }
                      },
                      {
                          "match":{
                              "price":1999.00
                          }
                      }
                  ]
              }
          }
      }
  • atau pertanyaan (sepatutnya)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "bool":{
                  "should":[ 
                      {
                          "match":{
                              "category":"小米"
                          }
                      },
                      {
                          "match":{
                              "price":1999.00
                          }
                      }
                  ]
              }
          }
      }
  • julat pertanyaan ( penapis, julat)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "bool":{
                  "should":[
                      {
                          "match":{
                              "category":"小米"
                          }
                      },
                      {
                          "match":{
                              "price":1999.00
                          }
                      }
                  ],
                  "filter":{
                      "range":{
                          "price":{
                              "gt":5000
                          }
                      }
                  }
              }
          }
      }
  • Padanan carian teks penuh (pembahagian perkataan) (padanan)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match":{
                  "category": "小华"
              }
          }
      }
  • Padanan tepat ( padanan_frasa)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match_phrase":{
                  "category": "小华"
              }
          }
      }
  • Sorotan pertanyaan (serlahkan, tambahkan teg html pada hasil carian)

      GET请求
      http://127.0.0.1:9200/shopping/_search  {
          "query":{
              "match_phrase":{
                  "category": "小华"
              }
          },
          "hightlight":{
              "fields":{
                  "category":{}
              }
          }
      }

    Pertanyaan pengagregatan

  • Pulangan data statistik dan data mentah

      GET请求
      http://127.0.0.1:9200/shopping/_search  { 
          "aggs":{ #聚合操作          "price_group":{ #名称,随意起名              "terms":{ #分组                  "field":"price" #分组字段              }
              }
          },  }
  • Tutup data mentah (saiz)

      GET请求
      http://127.0.0.1:9200/shopping/_search      { 
          "aggs":{ #聚合操作          "price_group":{ #名称,随意起名              "terms":{ #分组                  "field":"price" #分组字段              }
              }
          },      "size":0
      }
  • Purata

      GET请求
      http://127.0.0.1:9200/shopping/_search      { 
          "aggs":{ #聚合操作          "price_avg":{ #名称,随意起名              "age":{ #平均值                  "field":"price" #分组字段              }
              }
          },      "size":0
      }

    Perhubungan pemetaan

  • Buat pemetaan

      PUT请求
      http://127.0.0.1:9200/user/_mapping  { 
          "properties":{
              "name":{
                  "type":"text", #全文检索分词查询              "index":true
              },
              "sex":{
                  "type":"keyword",#完全查询              "index":true
              },
              "tel":{
                  "type":"keyword",#不能查询              "index":false
              }
          }
      }
  • Pemetaan pertanyaan

      GET请求
      http://127.0.0.1:9200/user/_mapping
  • Tambah Data

      PUT请求
      http://127.0.0.1:9200/user/_create/1001
      {
          name:"小米",
          sex:"男的",
          tel:"10010"
      }
  • Data pertanyaan

      GET请求
      http://127.0.0.1:9200/user/_search  {
          "query":{
              "match": {
                  name:"小"
              }
          }
      }
      GET请求
      http://127.0.0.1:9200/user/_search  {
          "query":{
              "match": {
                  sex:"男" #查询不到,必须输入男的          }
          }
      }
      #不支持查询  GET请求
      http://127.0.0.1:9200/user/_search  {
          "query":{
              "match": {
                  tel:"10010" 
              }
          }
      }

Atas ialah kandungan terperinci Ringkaskan operasi asas ElasticSearch! Sangat terperinci!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam