DSL 是一種采用JSON格式的查詢
#查看所有索引 GET /_cat/indices?v #刪除某個索引 DELETE /skuinfo #新增索引 PUT /user #創建映射 PUT /user/userinfo/_mapping { "properties": { "name":{ "type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart", "store": false }, "city":{ "type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart", "store": false }, "age":{ "type": "long", "store": false }, "description":{ "type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart", "store": false } } } #新增文檔數據 id=1 PUT /user/userinfo/1 { "name":"李四", "age":22, "city":"深圳", "description":"李四來自湖北武漢!" } #新增文檔數據 id=2 PUT /user/userinfo/2 { "name":"王五", "age":35, "city":"深圳", "description":"王五家住在深圳!" } #新增文檔數據 id=3 PUT /user/userinfo/3 { "name":"張三", "age":19, "city":"深圳", "description":"在深圳打工,來自湖北武漢" } #新增文檔數據 id=4 PUT /user/userinfo/4 { "name":"張三豐", "age":66, "city":"武漢", "description":"在武漢讀書,家在武漢!" } #新增文檔數據 id=5 PUT /user/userinfo/5 { "name":"趙子龍", "age":77, "city":"廣州", "description":"趙子龍來自深圳寶安,但是在廣州工作!", "address":"廣東省茂名市" } #新增文檔數據 id=6 PUT /user/userinfo/6 { "name":"趙毅", "age":55, "city":"廣州", "description":"趙毅來自廣州白雲區,從事電子商務8年!" } #新增文檔數據 id=7 PUT /user/userinfo/7 { "name":"趙哈哈", "age":57, "city":"武漢", "description":"武漢趙哈哈,在深圳打工已有半年了,月薪7500!" } #根據ID查詢 GET /user/userinfo/4 #更新數據,id=4 覆蓋原來的數據 PUT /user/userinfo/4 { "name":"張三豐", "description":"在武漢讀書,家在武漢!在深圳工作!" } #恢復文檔數據 id=4 PUT /user/userinfo/4 { "name":"張三豐", "age":66, "city":"武漢", "description":"在武漢讀書,家在武漢!" } #使用POST更新某個域的數據 , 不會覆蓋原來的數據 POST /user/userinfo/4/_update { "doc":{ "name":"張三豐", "description":"在武漢讀書,家在武漢!在深圳工作!" } } #刪除數據 DELETE user/userinfo/4 #查詢某個類型(表)的所有數據 GET /user/userinfo/_search #查詢索引庫(數據庫)所有 GET /user/_search #搜索排序 GET /user/userinfo/_search { "query":{ "match_all": {} }, "sort":{ "age":{ "order":"desc" } } } #分頁實現 GET /user/userinfo/_search { "query":{ "match_all": {} }, "sort":{ "age":{ "order":"desc" } }, "from": 0, "size": 2 } #過濾查詢-term 完全匹配 GET /user/userinfo/_search { "query":{ "term":{ "city":"武漢" } } } #過濾查詢-terms 允許多個Term GET /user/userinfo/_search { "query":{ "terms":{ "city": [ "武漢", "廣州" ] } } } #過濾-range 范圍過濾 #gt表示> gte表示=> #lt表示< lte表示<= GET /user/userinfo/_search { "query":{ "range": { "age": { "gte": 30, "lte": 57 } } } } #過濾搜索 bool #must : 多個查詢條件的完全匹配,相當於 and。 #must_not : 多個查詢條件的相反匹配,相當於 not。 #should : 至少有一個查詢條件匹配, 相當於 or。 GET /user/userinfo/_search { "query": { "bool": { "must": [ { "term": { "city": { "value": "深圳" } } }, { "range":{ "age":{ "gte":20, "lte":99 } } } ] } } } #查詢所有 match_all GET /user/userinfo/_search { "query": { "match_all": {} } } #字符串匹配 GET /user/userinfo/_search { "query": { "match": { "description": "武漢" } } } #多個域匹配搜索 GET /user/userinfo/_search { "query": { "multi_match": { "query": "深圳", "fields": [ "city", "description" ] } } } #前綴匹配 prefix GET /user/userinfo/_search { "query": { "prefix": { "name": { "value": "趙" } } } }