1、索引的操作
1、創(chuàng)建索引
??????? 對ES的操作其實(shí)就是發(fā)送一個restful請求,kibana中在DevTools中進(jìn)行ES操作
??????? 創(chuàng)建索引時需要注意ES的版本,不同版本的ES創(chuàng)建索引的語句略有差別,會導(dǎo)致失敗
如下創(chuàng)建一個名為people的索引,settings,一些設(shè)置,mappings字段映射
PUT people
{
"settings":{
"number_of_shards":3,
"number_of_replicas":1
},
"mappings":{
"man":{
"properties":{
"name":{
"type":"text"
},
"country":{
"type":"keyword"
},
"age":{
"type":"integer"
},
"date":{
"type":"date",
"format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
}
我的版本是7.0之前的老版本,需要指定索引類型,所以需要帶上,如果是7.0之后的可以用下方語句
PUT people1
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"name": {
"type": "text"
},
"country": {
"type": "keyword"
},
"age": {
"type": "integer"
},
"date": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
?索引創(chuàng)建成功
2、查詢索引信息
GET /_cat/indices?v? 查看所有索引
GET /people
3、刪除索引
DELETE /people
4、索引庫新增字段
索引庫是不允許進(jìn)行修改的,但是可以進(jìn)行新增字段
2、數(shù)據(jù)操作
有了索引以后,就相當(dāng)于有了表,然后就可以對表進(jìn)行增、刪、改、查數(shù)據(jù)。
2、1 添加數(shù)據(jù)
- PUT /索引名/類型名/文檔id:創(chuàng)建一個指定id的文檔
- POST /索引名/類型名: 不指定ID插入時會自動生成,需要使用POST請求
以下三種方式請求是正確的:
put /test_1/test/1
{
"id":1,
"name":"小明",
"age":20,
"desc":"三好學(xué)生",
"depName":"中學(xué)部"
}
post /test_1/test
{
"id":2,
"name":"小紅",
"age":22,
"desc":"三好學(xué)生干部",
"depName":"小學(xué)部"
}
post /test_1/test/3
{
"id":3,
"name":"小張",
"age":18,
"desc":"優(yōu)秀干部",
"depName":"大學(xué)部"
}
put請求后必現(xiàn)跟文檔id,否則報錯
?2、2修改數(shù)據(jù)
通過繼續(xù)提交PUT覆蓋原來的值,需要帶文檔id,不帶報錯
POST請求不加文檔id和_update,表示的是新增數(shù)據(jù)
?添加了文檔id報錯
?
PUT /索引名/類型名/文檔id,既可以新增也可以修改
先根據(jù)id查詢文檔,如果索引庫中有該字段,就先刪除舊文檔然后新增
如果沒有,就直接新增,是全量修改
POST /索引名/類型名 表示新增或修改,修改時可單獨(dú)修改某個字段
其他版本修改可能為POST /索引庫名/_update/文檔id
2、3查詢數(shù)據(jù)
GET /索引名稱/類型名稱/文檔id????? 根據(jù)id查詢單條數(shù)據(jù)
?查詢數(shù)據(jù)不存在時:
?2、4刪除數(shù)據(jù)
刪除數(shù)據(jù)是邏輯刪除
?3、復(fù)雜查詢
1、查詢所有(默認(rèn)返回結(jié)果是分頁的,只返回了第一頁10條)
或
?2、帶條件查詢
match 根據(jù)單個字段搜索,如下查詢名稱為小紅的數(shù)據(jù)
- multi_match查詢:多字段查詢,任意一個字段符合條件就算符合查詢條件
- multi_match:從哪些字段中檢索,指的是查詢條件
- _source:查詢的結(jié)果包含哪些字段,指的是元數(shù)據(jù)
?只查詢想要的字段_source指定
?3、分頁查詢
from 第幾頁,size每頁數(shù)量
文章來源:http://www.zghlxwxcb.cn/news/detail-687068.html
?4、排序
文章來源地址http://www.zghlxwxcb.cn/news/detail-687068.html
更多查詢可參考https://blog.csdn.net/qq_44954571/article/details/122823297
到了這里,關(guān)于ElasticSearch學(xué)習(xí)2--索引和文檔的基礎(chǔ)操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!