欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Elasticsearch文檔索引基本操作增刪改查示例

 更新時(shí)間:2022年04月19日 17:49:56   作者:Jeff的技術(shù)棧  
這篇文章主要為答案及介紹了Elasticsearch文檔索引基本操作增刪改查示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

接口冪等性

  • 接口冪等性:數(shù)學(xué)概念,多次請(qǐng)求,相當(dāng)于一次請(qǐng)求
  • get,put,delete都是冪等性的接口
  • post 存在冪等性的問(wèn)題
  • 前端速度很快,點(diǎn)了兩次,會(huì)生成兩個(gè)訂單
  • 用戶(hù)在訪問(wèn)新增頁(yè)面時(shí)(提交訂單)---》接口返回一個(gè)唯一id,提交訂單,攜帶唯一id過(guò)來(lái),后端判斷這個(gè)唯一id是否被用過(guò)---》沒(méi)用過(guò),創(chuàng)建訂單
  • 你在項(xiàng)目中碰到的問(wèn)題和如何解決(項(xiàng)目收獲)下訂單,經(jīng)常重復(fù)訂單,點(diǎn)得快,冪等性問(wèn)題,如何解決的

倒排索引

1.es介紹10個(gè)點(diǎn)

2.安裝

-jdk :java開(kāi)發(fā)環(huán)境

  • 官網(wǎng)下載es相應(yīng)的版本,解壓,到bin目錄下啟動(dòng)elasticsearch.bat
  • 兩個(gè)客戶(hù)端(kibana:官方,發(fā)送請(qǐng)求,數(shù)據(jù)統(tǒng)計(jì),展示,elasticsearch-head:第三方用node寫(xiě)的)
  • kibana跟es版本對(duì)應(yīng),bin路徑下,直接啟動(dòng)
  • elasticsearch-head需要安裝node環(huán)境,npm install ---》npm run start
  • kibana配置文件配置(copy一下,kibana監(jiān)聽(tīng)的地址端口,隨便名一個(gè)名,連接es的地址)
  • 修改es配置:允許跨域(瀏覽器的同源策略),cors:跨域資源共享,實(shí)現(xiàn)跨域
  • es的倒排索引(擴(kuò)展閱讀.md)
  • 把文章進(jìn)行分詞,對(duì)每個(gè)詞建立索引

3 索引操作

# 索引操作---》數(shù)據(jù)庫(kù)操作---》新增,刪除,修改,查詢(xún)
# 1 新增索引:
PUT lqz2     # lqz2就是索引名字
{
  "settings": {
    "index":{
      "number_of_shards":5,
      "number_of_replicas":1
    }
  }
}
# 2 查詢(xún)索引
GET lqz2/_settings
返回結(jié)果
{
  "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

4 文檔基本增刪查改

#1  新增文檔
POST lqz2/_doc/1
{
  "title":"紅樓夢(mèng)",
  "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":["古典","小說(shuō)"]
}
# 2 查詢(xún)文檔(更詳細(xì)的查找,后面講)
GET lqz2/_doc/2
# 3 修改文檔
-覆蓋式(原來(lái)的字段就沒(méi)有了)
PUT lqz/_doc/1
{
  "title":"xxxx",
  "price":333,
  "publish_addr":{
    "province":"黑龍江",
    "city":"福州"
  }
}
-增量式(只修改某個(gè)字段)一定要注意包在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"} }

5 文檔查詢(xún)

# 測(cè)試數(shù)據(jù)
PUT lqz/doc/1
{
  "name":"顧老二",
  "age":30,
  "from": "gu",
  "desc": "皮膚黑、武器長(zhǎng)、性格直",
  "tags": ["黑", "長(zhǎng)", "直"]
}
PUT lqz/doc/2
{
  "name":"大娘子",
  "age":18,
  "from":"sheng",
  "desc":"膚白貌美,嬌憨可愛(ài)",
  "tags":["白", "富","美"]
}
PUT lqz/doc/3
{
  "name":"龍?zhí)灼?,
  "age":22,
  "from":"gu",
  "desc":"mmp,沒(méi)怎么看,不知道怎么形容",
  "tags":["造數(shù)據(jù)", "真","難"]
}
# 兩種方式
	-第一種(字符串查詢(xún))
  	GET lqz/doc/_search?q=from:gu
    GET lqz/doc/_search?q=age:22
  -查詢(xún)的第二種方式(結(jié)構(gòu)化)
  	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": "造數(shù)據(jù)"
    }
  }
}

以上就是Elasticsearch文檔索引基本操作增刪改查示例的詳細(xì)內(nèi)容,更多關(guān)于Elasticsearch文檔索引增刪改查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論