The following assumes that elasticsearch is running on the localhost on port 9200.
How do I learn more? https://www.elastic.co/guide/en/elasticsearch/reference/current/_executing_searches.html
curl -XGET 'localhost:9200/_cat/health?v&pretty' curl -XGET 'localhost:9200/_cat/nodes?v’
curl -XGET 'localhost:9200/_cat/indices?v&pretty’
This will give you, by default, the first 20 results as prettified JSON
curl –XGET ‘localhost:9200/index/_search?pretty’
Only get results that match certain criteria:
curl -XGET 'localhost:9200/index/_search?pretty' -H 'Content-Type: application/json' –d’{"query": { "match": { "field": "value" } } }'
curl -XGET 'localhost:9200/index/_search?pretty' -H 'Content-Type: application/json' –d’{ "query": {
"bool": {
"must": [
{ "match": { "address": "mill" } },
{ "match": { "address": "lane" } }
]
}
}
}'
Search index, matching all, and sorting by field
curl -XGET 'localhost:9200/index/_search?q=*&sort=field:asc&pretty’
Search index, matching all, and sorting by field
curl -XGET 'localhost:9200/index/_search?pretty' -H 'Content-Type: application/json' -d’
{
"query": { "match_all": {} },
"sort": [
{ "field": "asc" }
]
}'
Only give one result back from searching index:
curl -XGET 'localhost:9200/index/_search?q=*&size=1&pretty'
Give back one result, starting at search result 10, from index
curl -XGET 'localhost:9200/bank/_search?q=*&size=1&from=10&pretty'
Finding distinct entities
curl -XGET 'localhost:9200/bank/_search?pretty' -H 'Content-Type: application/json' -d'
{
"size": 0,
"aggs": {
"group_by_state": {
"terms": {
"field": "state.keyword"
}
}
}
}'
curl -XPUT 'localhost:9200/newindex?pretty’
Insert the JSON document (after the -d) into the index with the id newid:
curl –XPUT ‘localhost:9200/index/external/newid?pretty’ –d’{“field”:”data”}’
mongoimport --db dbname --collection whichcollection --file mydata.json
curl -XPOST 'http://localhost:9200/dbname' -d @mydata.json
curl -XPOST 'http://localhost:9200/dbname/_bulk' —data-binary @mydata.json
curl -XDELETE 'localhost:9200/students?pretty'