SlideShare a Scribd company logo
Elasticsearch Reference
Indices APIs
Postman Shared Collection
http://goo.gl/Px9jf2
Indices
Create Indices
$ curl -XPUT localhost:9200/twitter/
$ curl -XPUT localhost:9200/twitter/ -d '
index :
number_of_shards : 3
number_of_replicas : 2
'
More about Index Settings => Index Modules
$ curl -XPUT localhost:9200/twitter/ -d '
{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
}
'
or, simply
$ curl -XPUT localhost:9200/twitter/ -d '
{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
'
Delete Indices
$ curl -XDELETE localhost:9200/twitter/
Indices Exist?
$ curl -XHEAD localhost:9200/twitter
Open/Close Indices
$ curl -XPOST localhost:9200/twitter/_close
$ curl -XPOST localhost:9200/twitter/_open
Update Index Settings
$ curl -XPUT localhost:9200/twitter/_settings -d '
{
"index" : {
"number_of_replicas" : 4
}
}
'
Get Index Settings
$ curl -XGET localhost:9200/twitter/_settings
Supports multiple indices.
$ curl -XGET localhost:9200/twitter,kimchy/_settings
$ curl -XGET localhost:9200/_all/_settings
$ curl -XGET localhost:9200/2013-*/_settings
Filter settings with prefix and name options.
$ curl -XGET localhost:9200/twitter/_settings?prefix=index.
$ curl -XGET localhost:9200/_all/_settings?prefix=index.routing.allocation.
$ curl -XGET localhost:9200/2013-*/_settings?name=index.merge.*
$ curl -XGET localhost:9200/2013-*/_settings/index.merge.*
Mappings
Put Mappings
$ curl -XPUT localhost:9200/twitter/tweet/_mapping -d '
{
"tweet" : {
"properties" : {
"message" : {"type" : "string", "store" : true }
}
}
}
'
More about Mappings => Mapping
Supports multi indices.
$ curl -XPUT localhost:9200/twitter,facebook/tweet/_mapping -d '
{
"tweet" : {
"properties" : {
"message" : {"type" : "string", "store" : true }
}
}
}
'
Get Mappings
$ curl -XGET localhost:9200/twitter/tweet/_mapping
Also, supports multi indices and types.
$ curl -XGET localhost:9200/twitter,facebook/_mapping
$ curl -XGET localhost:9200/_all/tweet,post/_mapping
Get Field Mappings
$ curl -XGET localhost:9200/twitter/tweet/_mapping/field/text
Of course, also supports multi indices, types and fields.
$ curl -XGET localhost:9200/twitter,facebook/_mapping/field/message
$ curl -XGET localhost:9200/_all/tweet,post/_mapping/field/message,user.id
$ curl -XGET localhost:9200/_all/tw*/_mapping/field/*.id
Types Exist?
$ curl -XHEAD localhost:9200/twitter/tweet
Delete Mappings
$ curl -XDELETE localhost:9200/twitter/tweet/_mapping
$ curl -XDELETE localhost:9200/twitter/tweet
Deleting Mapping == Deleting Types
Aliases
Index Aliases
Alias == View (in RDB)
Add Aliases
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{ "add" : { "index" : "twitter", "alias" : "alias1" } }
]
}
'
Get Aliases
$ curl -XGET localhost:9200/_aliases
Remove Aliases
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{ "remove" : { "index" : "twitter", "alias" : "alias1" } }
]
}
'
Multi Actions
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{ "remove" : { "index" : "twitter", "alias" : "alias1" } },
{ "add" : { "index" : "twitter", "alias" : "alias2" } }
]
}
'
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{ "add" : { "index" : "twitter", "alias" : "alias1" } },
{ "add" : { "index" : "facebook", "alias" : "alias1" } }
]
}
'
Filtered Aliases
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{
"add" : {
"index" : "twitter",
"alias" : "alias2",
"filter" : { "term" : { "user" : "kimchy" } }
}
}
]
}
'
More about Filters => Query DSL
Routing
Filter by routing values
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{
"add" : {
"index" : "twitter",
"alias" : "alias1",
"routing" : "1"
}
}
]
}
'
Different routing values for searching and
indexing.
$ curl -XPOST localhost:9200/_aliases -d '
{
"actions" : [
{
"add" : {
"index" : "twitter",
"alias" : "alias2",
"search_routing" : "1,2",
"index_routing" : "2"
}
}
]
}
'
Analyze
Analyze
Performs the analysis process on a text and return the
tokens breakdown of the text.
$ curl -XPOST localhost:9200/_analyze?analyzer=standard -d 'this is a test'
$ curl -XPOST 'localhost:9200/_analyze?tokenizer=keyword&filters=lowercase' 
-d 'this is a test'
$ curl -XPOST 'localhost:9200/_analyze?tokenizer=keyword&token_filters=lowercase
&char_filters=html_strip' -d 'this is a <b>test</b>'
$ curl -XGET localhost:9200/twitter/_analyze?text=this+is+a+test
Templates
Index Templates
Index templates allow to define templates that will
automatically be applied to new indices created.
Create Templates
$ curl -XPUT localhost:9200/_template/template_1 -d '
{
"template" : "te*",
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"type1" : {
"_source" : { "enabled" : false }
}
}
}
'
Will be applied to the indices with te* name pattern.
{index} placeholder
$ curl -XPUT localhost:9200/_template/template_1 -d '
{
"template" : "te*",
"settings" : {
"number_of_shards" : 1
},
"aliases" : {
"alias1" : {},
"alias2" : {
"filter" : {
"term" : {"user" : "kimchy" }
},
"routing" : "kimchy"
},
"{index}-alias" : {}
}
}
'
Delete Templates
$ curl -XDELETE localhost:9200/_template/template_1
Get Templates
$ curl -XGET localhost:9200/_template/template_1
$ curl -XGET localhost:9200/_template/temp*
$ curl -XGET localhost:9200/_template/template_1,template_2
$ curl -XGET localhost:9200/_template/
Multiple Template Matching by order
$ curl -XPUT localhost:9200/_template/template_1 -d '
{
"template" : "*",
"order" : 0,
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"type1" : {
"_source" : { "enabled" : false }
}
}
}
'
$ curl -XPUT localhost:9200/_template/template_2 -d '
{
"template" : "te*",
"order" : 1,
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"type1" : {
"_source" : { "enabled" : true }
}
}
}
'
Config
Index templates can also be placed
within config/templates directory.
Warmers
Warmers
Index warming allows to run registered search
requests to warm up the index before it is available for
search.
Warmup searches typically include requests that require
heavy loading of data, such as faceting or sorting on
specific fields.
Index Creation with Warmers
$ curl -XPUT localhost:9200/test -d '
{
"warmers" : {
"warmer_1" : {
"types" : [],
"source" : {
"query" : {
"match_all" : {}
},
"facets" : {
"facet_1" : {
"terms" : {
"field" : "field"
}
}
}
}
}
}
}
'
Put Warmers
$ curl -XPUT localhost:9200/test/_warmer/warmer_1 -d '
{
"query" : {
"match_all" : {}
},
"facets" : {
"facet_1" : {
"terms" : {
"field" : "field"
}
}
}
}
'
Delete Warmers
$ curl -XDELETE localhost:9200/test/_warmer/warmer_1
Get Warmers
$ curl -XGET localhost:9200/test/_warmer/warmer_1
$ curl -XGET localhost:9200/test/_warmer/warm*
$ curl -XGET localhost:9200/test/_warmer/
More GETs
Status
The indices status API allows to get a comprehensive
status information of one or more indices.
$ curl -XGET localhost:9200/twitter/_status
$ curl -XGET localhost:9200/twitter,kimchy/_status
$ curl -XGET localhost:9200/_status
Stats
Indices level stats provide statistics on different
operations happening on an index.
$ curl -XGET localhost:9200/twitter/_stats
$ curl -XGET localhost:9200/twitter,kimchy/_stats
$ curl -XGET localhost:9200/_stats
Segments
Provides low level segments information that a
Lucene index (shard level) is built with.
$ curl -XGET localhost:9200/twitter/_segments
$ curl -XGET localhost:9200/twitter,kimchy/_segments
$ curl -XGET localhost:9200/_segments
Recovery
The indices recovery API provides insight into on-
going shard recoveries. Recovery status may be
reported for specific indices, or cluster-wide.
$ curl -XGET localhost:9200/twitter/_recovery
$ curl -XGET localhost:9200/twitter,kimchy/_recovery
$ curl -XGET localhost:9200/_recovery
$ curl -XGET localhost:9200/twitter/_recovery?detailed=true
More POSTs
Clear Cache
The clear cache API allows to clear either all caches or
specific caches associated with one ore more indices.
$ curl -XPOST localhost:9200/twitter/_cache/clear
$ curl -XPOST localhost:9200/twitter,kimchy/_cache/clear
$ curl -XPOST localhost:9200/_cache/clear
Cache Types
— filter
— field_data
— id_cache
$ curl -XPOST localhost:9200/twitter/_cache/clear?filter=true
cf. The filter cache will be cleared within 60 seconds.
Flush
The flush process of an index basically frees memory
from the index by flushing data to the index storage and
clearing the internal transaction log.
$ curl -XPOST localhost:9200/twitter/_flush
$ curl -XPOST localhost:9200/twitter,kimchy/_flush
$ curl -XPOST localhost:9200/_flush
Refresh
The refresh API allows to explicitly refresh one or more
index, making all operations performed since the last
refresh available for search.
$ curl -XPOST localhost:9200/twitter/_refresh
$ curl -XPOST localhost:9200/twitter,kimchy/_refresh
$ curl -XPOST localhost:9200/_refresh
Optimize
The optimize process basically optimizes the index for
faster search operations.
The optimize operation allows to reduce the number of
segments by merging them.
$ curl -XPOST localhost:9200/twitter/_optimize
$ curl -XPOST localhost:9200/twitter,kimchy/_optimize
$ curl -XPOST localhost:9200/_optimize
Thank You!
by Daniel Ku (http://kjunine.net)

More Related Content

PDF
Neatly folding-a-tree
PDF
Nubilus Perl
KEY
Perl Web Client
PDF
Neatly Hashing a Tree: FP tree-fold in Perl5 & Perl6
PPTX
Looping the Loop with SPL Iterators
KEY
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
PDF
Design Patterns avec PHP 5.3, Symfony et Pimple
PDF
The History of PHPersistence
Neatly folding-a-tree
Nubilus Perl
Perl Web Client
Neatly Hashing a Tree: FP tree-fold in Perl5 & Perl6
Looping the Loop with SPL Iterators
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Design Patterns avec PHP 5.3, Symfony et Pimple
The History of PHPersistence

What's hot (19)

PDF
Database Design Patterns
PDF
The Zen of Lithium
PDF
Silex meets SOAP & REST
PPTX
Building Your First Widget
KEY
dotCloud and go
TXT
Nouveau document texte
TXT
Yy
PDF
Teaching Your Machine To Find Fraudsters
PDF
Debugging: Rules And Tools - PHPTek 11 Version
PPTX
2017 02-07 - elastic & spark. building a search geo locator
PDF
Method::Signatures
KEY
Crazy things done on PHP
KEY
Introduction to CloudForecast / YAPC::Asia 2010 Tokyo
PPTX
Corinna Status 2022.pptx
PDF
Models and Service Layers, Hemoglobin and Hobgoblins
PPTX
ElasticSearch 5.x - New Tricks - 2017-02-08 - Elasticsearch Meetup
PDF
PHP Tips & Tricks
PDF
Introduction to CQRS and Event Sourcing
PDF
Xlab #1: Advantages of functional programming in Java 8
Database Design Patterns
The Zen of Lithium
Silex meets SOAP & REST
Building Your First Widget
dotCloud and go
Nouveau document texte
Yy
Teaching Your Machine To Find Fraudsters
Debugging: Rules And Tools - PHPTek 11 Version
2017 02-07 - elastic & spark. building a search geo locator
Method::Signatures
Crazy things done on PHP
Introduction to CloudForecast / YAPC::Asia 2010 Tokyo
Corinna Status 2022.pptx
Models and Service Layers, Hemoglobin and Hobgoblins
ElasticSearch 5.x - New Tricks - 2017-02-08 - Elasticsearch Meetup
PHP Tips & Tricks
Introduction to CQRS and Event Sourcing
Xlab #1: Advantages of functional programming in Java 8
Ad

Viewers also liked (8)

PDF
Deploying an application with Chef and Docker
PDF
Google Analytics
PDF
MeaNstack on Docker
PDF
Getting Started with Redis
PDF
Object-oriented Javascript
PDF
Utilizing Bluebird Promises
PPT
Drupal and Elasticsearch
PDF
Promise and Bluebird
Deploying an application with Chef and Docker
Google Analytics
MeaNstack on Docker
Getting Started with Redis
Object-oriented Javascript
Utilizing Bluebird Promises
Drupal and Elasticsearch
Promise and Bluebird
Ad

Similar to Indices APIs - Elasticsearch Reference (20)

PPTX
ElasticSearch AJUG 2013
PPTX
Elastic search Walkthrough
PDF
Managing Your Content with Elasticsearch
PPTX
Elasticsearch an overview
PDF
Introduction to Elasticsearch
PPTX
Elasticsearch
PPTX
quick intro to elastic search
PDF
DRUPAL AND ELASTICSEARCH
PPT
How ElasticSearch lives in my DevOps life
PDF
Real-time search in Drupal with Elasticsearch @Moldcamp
PPTX
Academy PRO: Querying Elasticsearch
PPTX
Elastic search intro-@lamper
PPT
Craig Brown speaks on ElasticSearch
PPTX
ElasticSearch - DevNexus Atlanta - 2014
PDF
Elasticsearch in 15 Minutes
PPTX
Introduction to Elasticsearch with basics of Lucene
PDF
Montreal Elasticsearch Meetup
PDF
Elasticsearch Quick Introduction
PPTX
Elasticsearch
PDF
Workshop: Learning Elasticsearch
ElasticSearch AJUG 2013
Elastic search Walkthrough
Managing Your Content with Elasticsearch
Elasticsearch an overview
Introduction to Elasticsearch
Elasticsearch
quick intro to elastic search
DRUPAL AND ELASTICSEARCH
How ElasticSearch lives in my DevOps life
Real-time search in Drupal with Elasticsearch @Moldcamp
Academy PRO: Querying Elasticsearch
Elastic search intro-@lamper
Craig Brown speaks on ElasticSearch
ElasticSearch - DevNexus Atlanta - 2014
Elasticsearch in 15 Minutes
Introduction to Elasticsearch with basics of Lucene
Montreal Elasticsearch Meetup
Elasticsearch Quick Introduction
Elasticsearch
Workshop: Learning Elasticsearch

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
Teaching material agriculture food technology
PPTX
A Presentation on Artificial Intelligence
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Big Data Technologies - Introduction.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Programs and apps: productivity, graphics, security and other tools
The Rise and Fall of 3GPP – Time for a Sabbatical?
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
Getting Started with Data Integration: FME Form 101
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
A Presentation on Artificial Intelligence
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding

Indices APIs - Elasticsearch Reference

  • 4. Create Indices $ curl -XPUT localhost:9200/twitter/ $ curl -XPUT localhost:9200/twitter/ -d ' index : number_of_shards : 3 number_of_replicas : 2 ' More about Index Settings => Index Modules
  • 5. $ curl -XPUT localhost:9200/twitter/ -d ' { "settings" : { "index" : { "number_of_shards" : 3, "number_of_replicas" : 2 } } } ' or, simply $ curl -XPUT localhost:9200/twitter/ -d ' { "settings" : { "number_of_shards" : 3, "number_of_replicas" : 2 } } '
  • 6. Delete Indices $ curl -XDELETE localhost:9200/twitter/
  • 7. Indices Exist? $ curl -XHEAD localhost:9200/twitter
  • 8. Open/Close Indices $ curl -XPOST localhost:9200/twitter/_close $ curl -XPOST localhost:9200/twitter/_open
  • 9. Update Index Settings $ curl -XPUT localhost:9200/twitter/_settings -d ' { "index" : { "number_of_replicas" : 4 } } '
  • 10. Get Index Settings $ curl -XGET localhost:9200/twitter/_settings Supports multiple indices. $ curl -XGET localhost:9200/twitter,kimchy/_settings $ curl -XGET localhost:9200/_all/_settings $ curl -XGET localhost:9200/2013-*/_settings
  • 11. Filter settings with prefix and name options. $ curl -XGET localhost:9200/twitter/_settings?prefix=index. $ curl -XGET localhost:9200/_all/_settings?prefix=index.routing.allocation. $ curl -XGET localhost:9200/2013-*/_settings?name=index.merge.* $ curl -XGET localhost:9200/2013-*/_settings/index.merge.*
  • 13. Put Mappings $ curl -XPUT localhost:9200/twitter/tweet/_mapping -d ' { "tweet" : { "properties" : { "message" : {"type" : "string", "store" : true } } } } ' More about Mappings => Mapping
  • 14. Supports multi indices. $ curl -XPUT localhost:9200/twitter,facebook/tweet/_mapping -d ' { "tweet" : { "properties" : { "message" : {"type" : "string", "store" : true } } } } '
  • 15. Get Mappings $ curl -XGET localhost:9200/twitter/tweet/_mapping Also, supports multi indices and types. $ curl -XGET localhost:9200/twitter,facebook/_mapping $ curl -XGET localhost:9200/_all/tweet,post/_mapping
  • 16. Get Field Mappings $ curl -XGET localhost:9200/twitter/tweet/_mapping/field/text Of course, also supports multi indices, types and fields. $ curl -XGET localhost:9200/twitter,facebook/_mapping/field/message $ curl -XGET localhost:9200/_all/tweet,post/_mapping/field/message,user.id $ curl -XGET localhost:9200/_all/tw*/_mapping/field/*.id
  • 17. Types Exist? $ curl -XHEAD localhost:9200/twitter/tweet
  • 18. Delete Mappings $ curl -XDELETE localhost:9200/twitter/tweet/_mapping $ curl -XDELETE localhost:9200/twitter/tweet Deleting Mapping == Deleting Types
  • 20. Index Aliases Alias == View (in RDB) Add Aliases $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "add" : { "index" : "twitter", "alias" : "alias1" } } ] } '
  • 21. Get Aliases $ curl -XGET localhost:9200/_aliases Remove Aliases $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "remove" : { "index" : "twitter", "alias" : "alias1" } } ] } '
  • 22. Multi Actions $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "remove" : { "index" : "twitter", "alias" : "alias1" } }, { "add" : { "index" : "twitter", "alias" : "alias2" } } ] } ' $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "add" : { "index" : "twitter", "alias" : "alias1" } }, { "add" : { "index" : "facebook", "alias" : "alias1" } } ] } '
  • 23. Filtered Aliases $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "add" : { "index" : "twitter", "alias" : "alias2", "filter" : { "term" : { "user" : "kimchy" } } } } ] } ' More about Filters => Query DSL
  • 24. Routing Filter by routing values $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "add" : { "index" : "twitter", "alias" : "alias1", "routing" : "1" } } ] } '
  • 25. Different routing values for searching and indexing. $ curl -XPOST localhost:9200/_aliases -d ' { "actions" : [ { "add" : { "index" : "twitter", "alias" : "alias2", "search_routing" : "1,2", "index_routing" : "2" } } ] } '
  • 27. Analyze Performs the analysis process on a text and return the tokens breakdown of the text. $ curl -XPOST localhost:9200/_analyze?analyzer=standard -d 'this is a test' $ curl -XPOST 'localhost:9200/_analyze?tokenizer=keyword&filters=lowercase' -d 'this is a test' $ curl -XPOST 'localhost:9200/_analyze?tokenizer=keyword&token_filters=lowercase &char_filters=html_strip' -d 'this is a <b>test</b>' $ curl -XGET localhost:9200/twitter/_analyze?text=this+is+a+test
  • 29. Index Templates Index templates allow to define templates that will automatically be applied to new indices created.
  • 30. Create Templates $ curl -XPUT localhost:9200/_template/template_1 -d ' { "template" : "te*", "settings" : { "number_of_shards" : 1 }, "mappings" : { "type1" : { "_source" : { "enabled" : false } } } } ' Will be applied to the indices with te* name pattern.
  • 31. {index} placeholder $ curl -XPUT localhost:9200/_template/template_1 -d ' { "template" : "te*", "settings" : { "number_of_shards" : 1 }, "aliases" : { "alias1" : {}, "alias2" : { "filter" : { "term" : {"user" : "kimchy" } }, "routing" : "kimchy" }, "{index}-alias" : {} } } '
  • 32. Delete Templates $ curl -XDELETE localhost:9200/_template/template_1 Get Templates $ curl -XGET localhost:9200/_template/template_1 $ curl -XGET localhost:9200/_template/temp* $ curl -XGET localhost:9200/_template/template_1,template_2 $ curl -XGET localhost:9200/_template/
  • 33. Multiple Template Matching by order $ curl -XPUT localhost:9200/_template/template_1 -d ' { "template" : "*", "order" : 0, "settings" : { "number_of_shards" : 1 }, "mappings" : { "type1" : { "_source" : { "enabled" : false } } } } ' $ curl -XPUT localhost:9200/_template/template_2 -d ' { "template" : "te*", "order" : 1, "settings" : { "number_of_shards" : 1 }, "mappings" : { "type1" : { "_source" : { "enabled" : true } } } } '
  • 34. Config Index templates can also be placed within config/templates directory.
  • 36. Warmers Index warming allows to run registered search requests to warm up the index before it is available for search. Warmup searches typically include requests that require heavy loading of data, such as faceting or sorting on specific fields.
  • 37. Index Creation with Warmers $ curl -XPUT localhost:9200/test -d ' { "warmers" : { "warmer_1" : { "types" : [], "source" : { "query" : { "match_all" : {} }, "facets" : { "facet_1" : { "terms" : { "field" : "field" } } } } } } } '
  • 38. Put Warmers $ curl -XPUT localhost:9200/test/_warmer/warmer_1 -d ' { "query" : { "match_all" : {} }, "facets" : { "facet_1" : { "terms" : { "field" : "field" } } } } '
  • 39. Delete Warmers $ curl -XDELETE localhost:9200/test/_warmer/warmer_1 Get Warmers $ curl -XGET localhost:9200/test/_warmer/warmer_1 $ curl -XGET localhost:9200/test/_warmer/warm* $ curl -XGET localhost:9200/test/_warmer/
  • 41. Status The indices status API allows to get a comprehensive status information of one or more indices. $ curl -XGET localhost:9200/twitter/_status $ curl -XGET localhost:9200/twitter,kimchy/_status $ curl -XGET localhost:9200/_status
  • 42. Stats Indices level stats provide statistics on different operations happening on an index. $ curl -XGET localhost:9200/twitter/_stats $ curl -XGET localhost:9200/twitter,kimchy/_stats $ curl -XGET localhost:9200/_stats
  • 43. Segments Provides low level segments information that a Lucene index (shard level) is built with. $ curl -XGET localhost:9200/twitter/_segments $ curl -XGET localhost:9200/twitter,kimchy/_segments $ curl -XGET localhost:9200/_segments
  • 44. Recovery The indices recovery API provides insight into on- going shard recoveries. Recovery status may be reported for specific indices, or cluster-wide. $ curl -XGET localhost:9200/twitter/_recovery $ curl -XGET localhost:9200/twitter,kimchy/_recovery $ curl -XGET localhost:9200/_recovery $ curl -XGET localhost:9200/twitter/_recovery?detailed=true
  • 46. Clear Cache The clear cache API allows to clear either all caches or specific caches associated with one ore more indices. $ curl -XPOST localhost:9200/twitter/_cache/clear $ curl -XPOST localhost:9200/twitter,kimchy/_cache/clear $ curl -XPOST localhost:9200/_cache/clear
  • 47. Cache Types — filter — field_data — id_cache $ curl -XPOST localhost:9200/twitter/_cache/clear?filter=true cf. The filter cache will be cleared within 60 seconds.
  • 48. Flush The flush process of an index basically frees memory from the index by flushing data to the index storage and clearing the internal transaction log. $ curl -XPOST localhost:9200/twitter/_flush $ curl -XPOST localhost:9200/twitter,kimchy/_flush $ curl -XPOST localhost:9200/_flush
  • 49. Refresh The refresh API allows to explicitly refresh one or more index, making all operations performed since the last refresh available for search. $ curl -XPOST localhost:9200/twitter/_refresh $ curl -XPOST localhost:9200/twitter,kimchy/_refresh $ curl -XPOST localhost:9200/_refresh
  • 50. Optimize The optimize process basically optimizes the index for faster search operations. The optimize operation allows to reduce the number of segments by merging them. $ curl -XPOST localhost:9200/twitter/_optimize $ curl -XPOST localhost:9200/twitter,kimchy/_optimize $ curl -XPOST localhost:9200/_optimize
  • 51. Thank You! by Daniel Ku (http://kjunine.net)