Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
courses:cs397:winter2017:elasticsearch [2017/03/27 17:11] admincourses:cs397:winter2017:elasticsearch [2017/04/16 19:24] – [Aggregations] admin
Line 2: Line 2:
  
 The following assumes that elasticsearch is running on the localhost on port 9200. 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
  
 ===== General Info about elasticsearch instance ===== ===== General Info about elasticsearch instance =====
  
-  * How is elasticsearch doing?+==== How is elasticsearch doing? ==== 
   curl -XGET 'localhost:9200/_cat/health?v&pretty'    curl -XGET 'localhost:9200/_cat/health?v&pretty' 
   curl -XGET 'localhost:9200/_cat/nodes?v’   curl -XGET 'localhost:9200/_cat/nodes?v’
-  * What are the indices on this instance? + 
 +==== What are the indices on this instance? ==== 
   curl -XGET 'localhost:9200/_cat/indices?v&pretty’   curl -XGET 'localhost:9200/_cat/indices?v&pretty’
  
 +===== Searching Data =====
 +
 +
 +==== Viewing Data ====
 +
 +This will give you, by default, the first 20 results as prettified JSON
 +
 +  curl –XGET ‘localhost:9200/index/_search?pretty’
 +
 +==== Filtering Results ====
 +
 +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" } }
 +        ]
 +      }
 +    }
 +  }'
 +
 +==== Sorting Examples ====
 +
 +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" }
 +    ]
 +  }'
 +  
 +==== Limiting Results ====
 +
 +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'
 +
 +==== Aggregations ====
 +
 +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"
 +        }
 +      }
 +    }
 +  }'
 +
 +===== Adding Information =====
 +
 +==== Adding an index ====
 +
 +  curl -XPUT 'localhost:9200/newindex?pretty’
 +
 +==== Inserting documents to an index ====
 +
 +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”}’
 +
 +
 +===== Deleting Information =====
 +
 +  curl -XDELETE 'localhost:9200/students?pretty'
  
courses/cs397/winter2017/elasticsearch.txt · Last modified: 2017/04/16 19:26 by admin
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0