{"id":23915,"date":"2023-03-23T12:24:43","date_gmt":"2023-03-23T11:24:43","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=23915"},"modified":"2023-03-23T15:18:00","modified_gmt":"2023-03-23T14:18:00","slug":"elasticsearch-data-lifecycle-management","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/","title":{"rendered":"Elasticsearch &#8211; Data lifecycle management"},"content":{"rendered":"\n<p>Elasticsearch is a very versatile platform that supports a variety of use cases and provides great flexibility around data organization. After a <a href=\"https:\/\/www.dbi-services.com\/blog\/elastic-elk-stack-get-started\/\" target=\"_blank\" rel=\"noreferrer noopener\">global overview on Elastic Stack<\/a>, understanding <a href=\"https:\/\/www.dbi-services.com\/blog\/elastic-elk-stack-elasticsearch-terminologies\/\" target=\"_blank\" rel=\"noreferrer noopener\">Elasticsearch terminologies<\/a>, and <a href=\"https:\/\/www.dbi-services.com\/blog\/elastic-elk-stack-set-up-elasticsearch\/\" target=\"_blank\" rel=\"noreferrer noopener\">setup Elasticsearch<\/a>. Today, we will go more in deep with data management inside Elasticsearch.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Data categories<\/h2>\n\n\n\n<p>The data you store in Elasticsearch generally falls into one of two categories:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Content<\/strong>: a collection of items you want to search, such as a catalog of products. Content might be frequently updated, but the value of the content remains relatively constant over time. You want to be able to retrieve items quickly regardless of how old they are!<\/li>\n\n\n\n<li><strong>Time series data<\/strong>: a stream of continuously-generated timestamped data, such as log entries. Time series data keeps accumulating over time, so you need strategies for balancing the value of the data against the cost of storing it. As it ages, it tends to become less important and less-frequently accessed, so you can move it to less expensive, less performant hardware. For your oldest data, what matters is that you have access to the data. It\u2019s ok if queries take longer to complete.<\/li>\n<\/ul>\n\n\n\n<p>Depending on your data category and the business need you can define your architecture and configure the data tiers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Data tiers<\/h2>\n\n\n\n<p>A data tier is a collection of nodes with the same data role that typically share the same hardware profile:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Content tier<\/strong> nodes handle the indexing and query load for content such as a product catalog. As said before, unlike time series data, the value of the content remains relatively constant over time, so it doesn\u2019t make sense to move it to a tier with different performance characteristics as it ages. Content data typically has long data retention requirements, and you want to be able to retrieve items quickly regardless of how old they are.<\/li>\n\n\n\n<li><strong>Hot tier<\/strong> nodes handle the indexing load for time series data such as logs or metrics and hold your most recent, most-frequently-accessed data. In fact, the hot tier is the entry point for time series data and holds your most-recent, most-frequently-searched time series data. Nodes in the hot tier need to be fast for both reads and writes, which requires more hardware resources and faster storage (SSDs).<\/li>\n\n\n\n<li><strong>Warm tier<\/strong> nodes hold time series data that is accessed less-frequently and rarely needs to be updated. Time series data can move to the warm tier once it is being queried less frequently than the recently-indexed data in the hot tier. Nodes in the warm tier generally don\u2019t need to be as fast as those in the hot tier.<\/li>\n\n\n\n<li><strong>Cold tier<\/strong> nodes hold time series data that is accessed infrequently and not updated normally. To save space, you can keep fully mounted indices of searchable snapshots on the cold tier. These fully mounted indices eliminate the need for replicas, reducing required disk space by approximately 50% compared to the regular indices.<\/li>\n\n\n\n<li><strong>Frozen tier<\/strong> nodes hold time series data that is accessed rarely and never updated. The frozen tier stores partially mounted indices of searchable snapshots exclusively. This extends the storage capacity even further.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"261\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png\" alt=\"\" class=\"wp-image-23925\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-300x77.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-768x196.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier.png 1473w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To recapitulate, when you index documents directly to a specific index, they remain on content tier nodes indefinitely. On the other hand, when you index documents to a data stream, they initially reside on hot tier nodes. You can configure Index Lifecycle Management (ILM) policies to automatically transition your time series data through the hot, warm, and cold tiers according to your performance, resiliency and data retention requirements.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Index Lifecycle Management<\/h2>\n\n\n\n<p>You can create and apply Index lifecycle management (ILM) policies to automatically manage your indices according to your performance, resiliency, and retention requirements.<\/p>\n\n\n\n<p>Index lifecycle policies can trigger actions such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rollover<\/strong>: Creates a new write index when the current one reaches a certain size, number of docs, or age.<\/li>\n\n\n\n<li><strong>Shrink<\/strong>: Reduces the number of primary shards in an index.<\/li>\n\n\n\n<li><strong>Force merge<\/strong>: Triggers a force merge to reduce the number of segments in an index\u2019s shards.<\/li>\n\n\n\n<li><strong>Delete<\/strong>: Permanently remove an index, including all of its data and metadata.<\/li>\n<\/ul>\n\n\n\n<p>ILM makes it easier to manage indices in hot-warm-cold architectures, which are common when you\u2019re working with time series data such as logs and metrics.<\/p>\n\n\n\n<p>You can specify:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The maximum shard size, number of documents, or age at which you want to roll over to a new index.<\/li>\n\n\n\n<li>The point at which the index is no longer being updated and the number of primary shards can be reduced.<\/li>\n\n\n\n<li>When to force a merge to permanently remove documents marked for deletion.<\/li>\n\n\n\n<li>The point at which the index can be moved to less performant hardware.<\/li>\n\n\n\n<li>The point at which the availability is not as critical and the number of replicas can be reduced.<\/li>\n\n\n\n<li>When the index can be safely deleted.<\/li>\n<\/ul>\n\n\n\n<p>An Index Lifecycle Management could be configured like the following:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nPUT _ilm\/policy\/filebeat\n{\n  &quot;policy&quot;: {\n    &quot;phases&quot;: {\n      &quot;hot&quot;: {\n        &quot;min_age&quot;: &quot;0ms&quot;,\n        &quot;actions&quot;: {\n          &quot;rollover&quot;: {\n            &quot;max_size&quot;: &quot;50gb&quot;,\n            &quot;max_age&quot;: &quot;5d&quot;\n          }\n        }\n      },\n      &quot;warm&quot;: {\n        &quot;min_age&quot;: &quot;10d&quot;,\n        &quot;actions&quot;: {\n          &quot;set_priority&quot;: {\n            &quot;priority&quot;: 50\n          }\n        }\n      },\n      &quot;cold&quot;: {\n        &quot;min_age&quot;: &quot;20d&quot;,\n        &quot;actions&quot;: {\n          &quot;set_priority&quot;: {\n            &quot;priority&quot;: 0\n          }\n        }\n      },\n      &quot;delete&quot;: {\n        &quot;min_age&quot;: &quot;60d&quot;,\n        &quot;actions&quot;: {\n          &quot;delete&quot;: {\n            &quot;delete_searchable_snapshot&quot;: true\n          }\n        }\n      }\n    }\n  }\n}\n<\/pre><\/div>\n\n\n<p>Don&#8217;t worry, there is a way to configure ILM via Kibana, you don&#8217;t have to write the above from scratch \ud83d\ude09<\/p>\n\n\n\n<p>In a next blog, we will explore different ways to configure ILM with some use cases, in the meantime please don&#8217;t hesitate to ask questions or share your feedback.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elasticsearch is a very versatile platform that supports a variety of use cases and provides great flexibility around data organization. After a global overview on Elastic Stack, understanding Elasticsearch terminologies, and setup Elasticsearch. Today, we will go more in deep with data management inside Elasticsearch.<\/p>\n","protected":false},"author":46,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,1320],"tags":[86,87,91],"type_dbi":[],"class_list":["post-23915","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","category-devops","tag-elasticsearch","tag-elk","tag-index"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Elasticsearch - Data lifecycle management - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elasticsearch - Data lifecycle management\" \/>\n<meta property=\"og:description\" content=\"Elasticsearch is a very versatile platform that supports a variety of use cases and provides great flexibility around data organization. After a global overview on Elastic Stack, understanding Elasticsearch terminologies, and setup Elasticsearch. Today, we will go more in deep with data management inside Elasticsearch.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-23T11:24:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-23T14:18:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png\" \/>\n<meta name=\"author\" content=\"David Diab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Diab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\"},\"author\":{\"name\":\"David Diab\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86\"},\"headline\":\"Elasticsearch &#8211; Data lifecycle management\",\"datePublished\":\"2023-03-23T11:24:43+00:00\",\"dateModified\":\"2023-03-23T14:18:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\"},\"wordCount\":862,\"commentCount\":2,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png\",\"keywords\":[\"Elasticsearch\",\"ELK\",\"index\"],\"articleSection\":[\"Application integration &amp; Middleware\",\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\",\"name\":\"Elasticsearch - Data lifecycle management - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png\",\"datePublished\":\"2023-03-23T11:24:43+00:00\",\"dateModified\":\"2023-03-23T14:18:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elasticsearch &#8211; Data lifecycle management\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86\",\"name\":\"David Diab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"caption\":\"David Diab\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/david-diab\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Elasticsearch - Data lifecycle management - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/","og_locale":"en_US","og_type":"article","og_title":"Elasticsearch - Data lifecycle management","og_description":"Elasticsearch is a very versatile platform that supports a variety of use cases and provides great flexibility around data organization. After a global overview on Elastic Stack, understanding Elasticsearch terminologies, and setup Elasticsearch. Today, we will go more in deep with data management inside Elasticsearch.","og_url":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/","og_site_name":"dbi Blog","article_published_time":"2023-03-23T11:24:43+00:00","article_modified_time":"2023-03-23T14:18:00+00:00","og_image":[{"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png","type":"","width":"","height":""}],"author":"David Diab","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Diab","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/"},"author":{"name":"David Diab","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86"},"headline":"Elasticsearch &#8211; Data lifecycle management","datePublished":"2023-03-23T11:24:43+00:00","dateModified":"2023-03-23T14:18:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/"},"wordCount":862,"commentCount":2,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png","keywords":["Elasticsearch","ELK","index"],"articleSection":["Application integration &amp; Middleware","DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/","url":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/","name":"Elasticsearch - Data lifecycle management - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png","datePublished":"2023-03-23T11:24:43+00:00","dateModified":"2023-03-23T14:18:00+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/03\/Elasticsearch_data-tier-1024x261.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/elasticsearch-data-lifecycle-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Elasticsearch &#8211; Data lifecycle management"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86","name":"David Diab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","caption":"David Diab"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/david-diab\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/23915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=23915"}],"version-history":[{"count":7,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/23915\/revisions"}],"predecessor-version":[{"id":23936,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/23915\/revisions\/23936"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=23915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=23915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=23915"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=23915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}