7.2.0版本
1 創建庫
http://{ip}:{port}/{庫名稱} put
2 查詢庫
http://{ip}:{port}/_cat/indices?v get
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open test1 uB38fV7yR3ivRcvVrKbfbw 1 1 0 0 230b 230b yellow open test 9tk0aHTYSMWkfGXnNdqjkA 1 1 0 0 283b 283b yellow open secisland pSDO1Fp8Q62LHQvKEXVWlw 1 1 1 0 3.2kb 3.2kb
health:健康度
status:狀態
index:索引庫
uuid:唯一id
pri:主分片
docs.count:文檔數量
docs.deleted:刪除文檔
3 插入數據
http://{ip}:{port}/test/testlog/1/ put
{
"computer":"secisland",
"message":"success"
}
4 修改文檔
http://{ip}:{port}/test/testlog/1/_update/ post
{
"doc": {
"computer": "secisland",
"message": "this is success"
}
}
5 查詢文檔
http://{ip}:{port}/test/testlog/1/ get
6 刪除文檔
http://{ip}:{port}/test/testlog/1/ DELETE
7 刪除庫
http://{ip}:{port}/test/ DELETE
8 創建分片和副分片
http://{ip}:{port}/test_190720/ put
{"settings": {"index": {"number_of_shards": 4,"number_of_replicas": 3}}
或者
{"settings": {"number_of_shards": 4,"number_of_replicas": 3}
9 修改副本數量
http://{ip}:{port}/test_190720/ _settings/ put
{
"number_of_replicas": 1
}
10 刪除索引
http://{ip}:{port}//test_190720/ delete
11 創建字段
http://{ip}:{port}/test_190720/ put
{
"mappings": {
"properties": {
"logs": {
"properties": {
"message": {
"type": "text"
},
"date": {
"type": "date"
}
}
}
}
}
}
注意:Elasticsearch從5.X就引入了text和keyword,其中keyword適用於不分詞字段,搜索時只能完全匹配,這時string還保留着。
到了6.X就徹底移除string了。
另外,"index"的值只能是boolean變量了。
12 獲取索引
http://{ip}:{port}/test_190720/ get
查詢某個集合
http://192.168.1.10:9200/test_190720/_settings/ get
13 打開或關閉某個索引
打開 http://192.168.1.10:9200/test_190720/_open/ post
關閉 http://192.168.1.10:9200/test_190720/_close/ post
14 映射字段數據類型
字符類型:text
數字類型:long,integer,short,byte,double,float
日期類型:date
布爾型:boolean
二進制:binary
復雜數據類型包括:
數組類型:不需要專門的類型來定義數組
對象數據類型:object,單獨的json對象
嵌套數據類型:nested,關於json對象的數組
地理數據類型:
地理點數據類型:geo_point,經緯點
地理形狀數據類型:geo_shape,多邊形的復雜地理形狀
專門數據類型:
ipv4數據類型:ip協議為ipv4的地址
完成數據類型:completion,提供自動補全的建議
單詞計樹數據類型:token_count,統計字符串中的單詞數量
不被分詞:keyword
15 字符串數據類型
http://localhost:9200/test_190720/ put
{
"mappings": {
"properties": {
"logs": {
"properties": {
"message": {
"type": "text"
},
"status": {
"type": "keyword"
}
}
}
}
}
}
| 參數 | 說明 |
| analyzer | 分詞器可以用於可諷刺的字符串類型字段,默認為默認的索引分詞器或者標准分詞器 |
| boost | 字段級索引加權。接受浮點型數字,默認值是1.0 |
| doc_values | 定義字段是否應該以列跨度的方式存儲在磁盤上,以便用於排序、聚合或者腳本。接受true或false參數,默認值是true。可分詞字段不支持這個參數 |
| fielddate | 決定字段是否可以使用內存字段值進行排序,聚合或者在腳本中使用。接受disable或者paged_bytes(默認)參數。沒有分析過的字段會優先使用文檔值 |
| ignore_above | 不要索引或執行任何長於這個值的字符串。默認為0(禁用) |
| include_in_all | 決定字段是否應該包含在_all字段中。接受true或者false參數。如果索引被設置為No或者父對象設置Include_in_all為false,參數默認值為False,其他情況下為True |
| index | 決定字段是否被用戶搜索。接受參數analyzed(默認,視為全文字段),not_analyzed(作為關鍵字段)以及no |
| index_options | 定義存儲在索引中,用於搜索和突出用途信息 |
| norms | 計算查詢得分的時候是否應該考慮字段長度。默認依賴於索引設置:analyzed字段默認為{"enable":true,"loading":"lazy"}。not_analyzed字段默認為{"enable":false} |
| null_value | 接受一個字符串值替換所有null值。默認為Null,意味着字段作為缺失字段。如果字段是可分詞(analyzed)的,null_value也會被分詞 |
| posiition_increment_gap | 定義字符串數組中應該插入的虛擬索引詞的數量。默認值為100,以一個較合理的值來阻止短語查詢在跨字段匹配索引分詞的時候溢出 |
| store | 決定字段值是否應該被存儲以及以_source字段分別獲取。接受參數true或false(默認) |
| search_analyzer | 指定搜索時用在可分詞字段上的分詞器 |
| search_quote_analyzer | 指定搜索短語時使用的分詞器 |
| similarity | 指定使用的相似度評分算法,默認為TF/IDF |
| term_vector | 定義一個可分詞字段是否應該存儲索引詞向量。默認為no |
16 數字類型
http://localhost:9200/test_190720/ get
{
"mappings": {
"properties": {
"logs": {
"properties": {
"message": {
"type": "text"
},
"status": {
"type": "keyword"
},
"id": {
"type": "integer"
}
}
}
}
}
}
| 參數 | 說明 |
| coerce | 試着將字符串型數據轉換為整數型數字數據 |
| boost | 字段級索引加權,接受浮點型數字參數,默認為1.0 |
| doc_values | 定義字段是否應該以列跨度的方式存儲在磁盤上,以便用於排序、聚合或者腳本。接受true(默認)或false參數 |
| ignore_malformed | 如果是true,畸形的數字會被忽略。如果是false(默認),畸形數字會拋出異常並丟棄整個文檔 |
| include_in_all | 決定字段是否應該包含在_all字段中。接受true或false參數。如果索引被設置為No或者父對象字段設置include_in_all為false,參數默認值為false;其他情況下,默認值為true |
| index | 決定字段是否可以被用戶搜索。接受參數Not_analyzed(默認)以及no |
| null_value | 接受與字段同類型的數字型值來代替null值。默認是null。意味着字段作為缺失字段 |
| precision_step | 控制索引的額外索引詞的數量來使范圍查詢更快速。默認值取決於數字類型 |
| store | 決定字段值是否應該存儲以及從_source字段分別獲取。接受參數true或false(默認) |
