Elasticsearch語法大全

2021-10-10 19:43:22 字數 3488 閱讀 6267

5、建立乙個資料模型樣例(包含index、type、field):

6、elasticsearch給type增加一項field

二、elasticsearch搜尋語句

安裝教程跳過,此文件是基於kibana操作elasticsearch

1、elasticsearch和關係型資料庫資料模型對應關係表

2、建立索引並檢視

put

/deocde

get/_cat/indices?v

3、刪除索引並檢視
delete

/decode

get/_cat/indices?v

4、文件操作

4.1、檢視文件型別

get
4.2、在索引中新增文件
put

/decode/resolve/

1

4.3、在索引中檢視文件
get

/decode/resolve/

1

4.4、在索引中修改文件
post

/decode/resolve/

1/_update

}

4.5、在索引中刪除文件
delete

/decode/reslove/

1

4.6、在索引中批量操作文件
post

/decode/resolve/_bulk}}

5、建立乙個資料模型樣例(包含index、type、field):
put

/decode},

:,"vin":,

"gender":,

"carbrandid":,

"balance":,

"age":,

"address":,

"craetetime":,

"statusid":,

"enable":}}}}

6、elasticsearch給type增加一項field}}

1、最簡單的搜尋,使用match_all來表示,例如搜尋全部

get

/decode/resolve/_search

}}

2、分頁搜尋,from表示偏移量,從0開始,size表示每頁顯示的數量
get

/decode/resolve/_search},

"from":0

,"size":10

}

3、搜尋排序,使用sort表示,例如按createtime欄位降序排列
get

/decode/resolve/_search},

"sort":}

}

4、搜尋並返回指定字段內容,使用_source表示,例如只返回id和createtime兩個字段內容
get

/decode/resolve/_search},

"_source":[

"id"

,"createtime"

]}

5、條件搜尋,使用match表示匹配條件,例如搜尋出id為20的文件:
get

/decode/resolve/_search

}}

6、文字型別欄位的條件搜尋,例如搜尋address欄位中包含mill的文件,對比上一條搜尋可以發現,對於數值型別match操作使用的是精確匹配,對於文字型別使用的是模糊匹配;
get

/decode/resolve/_search},

"_source":[

"address"

,"id"

]}

7、短語匹配搜尋,使用match_phrase表示,例如搜尋address欄位中同時包含mill和lane的文件:
get

/decode/resolve/_search

}}

8、組合搜尋,使用bool來進行組合,must表示同時滿足,例如搜尋address欄位中同時包含mill和lane的文件
get

/decode/resolve/_search},

}]}}

}

9、組合搜尋,should表示滿足其中任意乙個,搜尋address欄位中包含mill或者lane的文件
get

/decode/resolve/_search},

}]}}

}

10、組合搜尋,must_not表示同時不滿足,例如搜尋address欄位中不包含mill且不包含lane的文件
get

/decode/resolve/_search},

}]}}

}

11、組合搜尋,組合must和must_not,例如搜尋age欄位等於40且state欄位不包含id的文件
get

/decode/resolve/_search}]

,"must_not":[

}]}}

}

12、搜尋過濾,使用filter來表示,例如過濾出balance欄位在20000~30000的文件
get

/decode/resolve/_search},

"filter":}

}}}}

13、對搜尋結果進行聚合,使用aggs來表示,類似於mysql中的group by,例如對vin欄位進行聚合,統計出相同state的文件數量
get

/decode/resolve/_search}}

}

14、巢狀聚合,例如對state欄位進行聚合,統計出相同vin的文件數量,再統計出balance的平均值
get

/decode/resolve/_search

,"aggs":}

}}}}

15、對聚合搜尋的結果進行排序,例如按balance的平均值降序排列
get

/decode/resolve/_search},

"aggs":}

}}}}

16、按字段值的範圍進行分段聚合,例如分段範圍為age欄位的[20,30] [30,40] [40,50],之後按gender統計文件個數和balance的平均值
get

/decode/resolve/_search,,

]},"aggs":,

"aggs":}

}}}}

}}

ElasticSearch 查詢語法

author title publish date form指定從 返回 size指定返回數量 from 1 size 1 sort group by publish date 特定字段查詢所指特定值 query context 會根據匹配程度生成不同的匹配分數 全文本查詢針對文字型別 字段級別查詢...

Elasticsearch語法詳情

新增 如果已經存在 那麼就會覆蓋 put 新增操作需要制定id put product doc 1 post 新增操作可以不指定id,es會預設生成乙個唯一id post product doc post 新增操作可以指定id post product doc 2post 新增操作可以不指定id p...

ElasticSearch 查詢語法

設定 預設沒有timeout,如果設定了timeout,那麼會執行timeout機制。timeout機制 假設使用者查詢結果有1w條資料,但是需要10s才能查詢完畢,但是使用者設定了1s的timeout,那麼不管當前一共查詢到了多少資料,都會在1 後es講停止查詢,並返回當前資料。用法 get se...