elasticsearch 之curl增删改查语句
1、检查集群状态
curl 'localhost:9200/_cat/health?v' -u admin:xxxx
2、获取节点信息
curl 'localhost:9200/_cat/nodes?v' -u admin:xxxx
3、列出所有索引
curl 'localhost:9200/_cat/indices?v' -u admin:xxxx
4、创建索引
现在我们创建一个名为“kzf”的索引,然后再查看所有的索引
curl -XPUT 'localhost:9200/kzf?pretty' -u admin:xxxx
5、插入数据到索引
插入一些数据到集群索引。我们必须给ES指定所以的类型。
必须制定数据type:external,ID:1 ,数据主体{"name": "John Doe"}
curl -XPUT 'localhost:9200/kzf/external/1?pretty' -d '{"name": "John Doe"}' -u admin:xxxx
6、查询索引数据
1、指定索引类型和索引id curl -XGET 'localhost:9200/kzf/external/1?pretty' -u admin:xxxx 2、查询索引下面的所有(注意:如果siez不指定,则默认返回10条数据。) curl 'localhost:9200/bank/_search?q=*&pretty' 上面示例返回所有bank中的索引数据。其中 q=* 表示匹配索引中所有的数据。 等价于: curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match_all": {} } }' 3、查询指定范围的数据(从第10行开始,往后查询100条数据) curl -H "Content-Type: application/json" -XPOST 'localhost:9200/fy_smart_news_sentiment_tag/_search?pretty' -u admin:xxxx -d '{ "query": { "match_all": {}} , "from": 10, "size": 100 }' 4、匹配所有的索引中的数据,按照balance字段降序排序,并且返回前10条(如果不指定size,默认最多返回10条)。 curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -u admin:xxxx -d ' { "query": { "match_all": {} }, "sort": { "balance": { "order": "desc" } } }' 5、下面例子展示如何返回两个字段(account_number balance) curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -u admin:xxxx -d ' { "query": { "match_all": {} }, "_source": ["account_number", "balance"] }'
根据字段值查询
1、返回account_number 为20 的数据 curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -u admin:xxxx -d ' { "query": { "match": { "account_number": 20 } } }' 2、返回address中包含mill的所有数据:: curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -u admin:xxxx -d ' { "query": { "match": { "address": "mill" } } }' 3、返回地址中包含mill或者lane的所有数据: curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -u admin:xxxx -d ' { "query": { "match": { "address": "mill lane" } } }' 4、和上面匹配单个词语不同,下面这个例子是多匹配(match_phrase短语匹配),返回地址中包含短语 “mill lane”的所有数据: curl -H "Content-Type: application/json" -XPOST 'localhost:9200/bank/_search?pretty' -u admin:xxxx -d ' { "query": { "match_phrase": { "address": "mill lane" } } }'