{"id":3669,"date":"2018-07-09T01:52:20","date_gmt":"2018-07-09T01:52:20","guid":{"rendered":"https:\/\/www.botreetechnologies.com\/blog\/?p=3669"},"modified":"2021-01-08T15:13:38","modified_gmt":"2021-01-08T09:43:38","slug":"elasticsearch-with-django-part-4","status":"publish","type":"post","link":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/","title":{"rendered":"Elasticsearch with Django &#8211; Part 4"},"content":{"rendered":"\n<p>In previous articles (Here you can read: <a href=\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-1\" target=\"_blank\" rel=\"noopener noreferrer\">part-1<\/a>, <a href=\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-2\" target=\"_blank\" rel=\"noopener noreferrer\">part-2<\/a> and <a href=\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-3\" target=\"_blank\" rel=\"noopener noreferrer\">part-3<\/a>) we have seen that how queries work on Elasticsearch engine via terminal.<\/p>\n\n\n\n<p>Now let&#8217;s discuss about integration with Django application.<\/p>\n\n\n\n<p>Let&#8217;s start with creating a new Django project.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up a Django Project<\/h2>\n\n\n\n<p>First you create a virtual environment with <i>virtualenv elastic_env<\/i> and enter it with <i>source elastic_env\/bin\/activate<\/i> in order to keep everything contained. Then you install some packages:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code>pip3 install django<br>\npip3 install elasticsearch-dsl<\/code><\/p><\/blockquote>\n\n\n\n<p>Now let&#8217;s create a new django project, run:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code>django-admin startproject django_elastic_project<br>\ncd django_elastic_project<br>\npython3 manage.py startapp elasticsearchapp<\/code><\/p><\/blockquote>\n\n\n\n<p>After creating the new django project, we need to create a model that we will use. I choose to go with car example. In <i><code>models.py<\/code><\/i> place the following code:<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/c48de3a810e6df395dc3a30e1a9aa8e9.js\"><\/script><\/p>\n\n\n\n<p>Don&#8217;t forget to add <i>elasticsearch app<\/i> to <i>INSTALLED_APPS<\/i> in <i>settings.py<\/i> and register your new <i>BookPublish<\/i> model in <i>admin.py<\/i> like this:<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/e73261d7a8d78bbb20a695c4fbf87ec7.js\"><\/script><\/p>\n\n\n\n<p>Now apply <i><code>python3 manage.py make migration<\/code><\/i> and <i><code>python3 manage.py migrate<\/code><\/i> and then <i><code>python3 manage.py create superuser<\/code><\/i> to create the database and an admin account.<\/p>\n\n\n\n<p>Now Finally run <i><code>python3 manage.py runserver<\/code><\/i>, now let&#8217;s check admin site, go to <strong><i>http:\/\/localhost:8000\/admin\/<\/i> <\/strong>and log in, and check our BookPublish model there. Now create data in that model.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Connect Elasticsearch with django<\/h3>\n\n\n\n<p>We can start this with creating a new <i>search.py<\/i> file in our <i>elasticsearch app<\/i> directory. Now create a connection from our django application to Elasticsearch Engine. Add this code in <i>search.py<\/i> file:<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/b39f15b331d03609cf7105d061504ebb.js\"><\/script><\/p>\n\n\n\n<p>Now we have a global connection of Elasticsearch. Add this code in <i>utils.py<\/i><\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/dee90d00a539f80aa7bc8d69ec386c46.js\"><\/script><\/p>\n\n\n\n<p>Actually, <i>DocType<\/i> works as a wrapper to enable you to write an index like a model. <i>Text<\/i> and <i>Date<\/i> are the fields which are used for the correct format when they get indexed.<\/p>\n\n\n\n<p>Now we need to actually create the mapping of our newly created <i>BookPublishIndex<\/i> in Elasticsearch using <i><code>bulk_indexing()<\/code><\/i> method.<\/p>\n\n\n\n<p><i>the bulk<\/i> command is included in <i>helpers<\/i> and it is automatically added at the time of installation. Add this code in <i>search.py<\/i> :<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/da6dc5b606a5c49c4f9275800ba44047.js\"><\/script><\/p>\n\n\n\n<p>Actually this function work as, when you create a new object in <i>BookPublish<\/i> then this will init by <i><code>.indexing()<\/code><\/i> and index with Elasticsearch. It is important to index all the entries which are newly added in a table, then only Elasticsearch can search the data by own.<\/p>\n\n\n\n<p>Now let&#8217;s add <i><code>indexing()<\/code><\/i> method in <i><code>models.py<\/code><\/i> :<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/648e63d0e44a5e70d2ac561dd51fceab.js\"><\/script><\/p>\n\n\n\n<p><i><b>Note:<\/b> Before this, please make sure Elasticsearch engine is live.<\/i><\/p>\n\n\n\n<p>Let&#8217;s try to indexing all the existing objects with Elasticsearch. By running <i><code>python3 manage.py shell<\/code><\/i> you go into the Django shell and import your <i><code>search.py<\/code><\/i> with from <i><code>elasticsearchapp.search import *<\/code><\/i> and then run <i><code>bulk_indexing()<\/code><\/i> to index all the BookPublish objects.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Simple Search<\/h3>\n\n\n\n<p>Now lets make a simple search function in <i><code>search.py<\/code><\/i> to find all book published filtered by <i><code>author name<\/code><\/i> :<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/DaxitaRajput\/3b868d1f072e2c9edcd8f89447318324.js\"><\/script><\/p>\n\n\n\n<p>Let&#8217;s try the search out. In the shell: <i><code>from elasticsearchapp.search import *<\/code><\/i> and run <i><code>bulk_indexing()<\/code><\/i> and then <i><code>search(author=\"author_name\")<\/code><\/i> :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code>&gt;&gt;&gt; from elasticsearchapp.search import *<br>\n&gt;&gt;&gt; bulk_indexing()<br>\n&gt;&gt;&gt; search(author=\"author\")<br>\n&lt;Response: [&lt;Hit(book-publish-index\/book_publish_index\/5): {'posted_date': '2018\u201306\u201321', 'text': 'latest dfgju', 'title...}&gt;]&gt;<\/code><\/p><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>I explained how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do (We have seen in previous blogs). I recommend reading on their website and exploring what other possibilities exist.<\/p>\n\n\n\n<p>Here I am finishing my <b>Elasticsearch With Django blog series<\/b>.<\/p>\n\n\n\n<p>If you liked this article or have a comment or suggestions, please feel free to leave a message below. And stay tuned for more interesting stuff!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.botreetechnologies.com\/django-development\" target=\"_blank\" rel=\"noopener noreferrer\">Click here for more details&#8230;<\/a><\/h3>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>At <a href=\"https:\/\/www.botreetechnologies.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">BoTree Technologies<\/a>, we build enterprise applications with our Django team of 20+ engineers.<\/p>\n\n\n\n<p>We also specialize in RPA, AI, Python, Ruby on Rails, JavaScript and ReactJS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.botreetechnologies.com\/contact\" target=\"_blank\" rel=\"noopener noreferrer\">Consulting is free<\/a> &#8211; let us help you grow!<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>In previous articles (Here you can read: part-1, part-2 and&#8230;<\/p>\n","protected":false},"author":28,"featured_media":13036,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[68,10],"tags":[],"class_list":["post-3669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-django","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Elasticsearch with Django - Part 4<\/title>\n<meta name=\"description\" content=\"Learn more about how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do.\" \/>\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.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elasticsearch with Django - Part 4\" \/>\n<meta property=\"og:description\" content=\"Learn more about how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\" \/>\n<meta property=\"og:site_name\" content=\"BoTree Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BoTreeTechnologies\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-09T01:52:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-08T09:43:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"682\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Daxita Rajput\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:site\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daxita Rajput\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\"},\"author\":{\"name\":\"Daxita Rajput\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/55b2e79e47f75ea4a246499a663a676a\"},\"headline\":\"Elasticsearch with Django &#8211; Part 4\",\"datePublished\":\"2018-07-09T01:52:20+00:00\",\"dateModified\":\"2021-01-08T09:43:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\"},\"wordCount\":554,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg\",\"articleSection\":[\"Django\",\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\",\"name\":\"Elasticsearch with Django - Part 4\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg\",\"datePublished\":\"2018-07-09T01:52:20+00:00\",\"dateModified\":\"2021-01-08T09:43:38+00:00\",\"author\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/55b2e79e47f75ea4a246499a663a676a\"},\"description\":\"Learn more about how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg\",\"width\":1024,\"height\":682,\"caption\":\"Elasticsearch with Django\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.botreetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elasticsearch with Django &#8211; Part 4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/\",\"name\":\"BoTree Technologies\",\"description\":\"Committed to inspire generation.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/55b2e79e47f75ea4a246499a663a676a\",\"name\":\"Daxita Rajput\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/daxita-rajput-150x150.png\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/daxita-rajput-150x150.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/daxita-rajput-150x150.png\",\"caption\":\"Daxita Rajput\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Elasticsearch with Django - Part 4","description":"Learn more about how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do.","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.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/","og_locale":"en_US","og_type":"article","og_title":"Elasticsearch with Django - Part 4","og_description":"Learn more about how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do.","og_url":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/","og_site_name":"BoTree Technologies","article_publisher":"https:\/\/www.facebook.com\/BoTreeTechnologies\/","article_published_time":"2018-07-09T01:52:20+00:00","article_modified_time":"2021-01-08T09:43:38+00:00","og_image":[{"width":1024,"height":682,"url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg","type":"image\/jpeg"}],"author":"Daxita Rajput","twitter_card":"summary_large_image","twitter_creator":"@BoTreeTech","twitter_site":"@BoTreeTech","twitter_misc":{"Written by":"Daxita Rajput","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#article","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/"},"author":{"name":"Daxita Rajput","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/55b2e79e47f75ea4a246499a663a676a"},"headline":"Elasticsearch with Django &#8211; Part 4","datePublished":"2018-07-09T01:52:20+00:00","dateModified":"2021-01-08T09:43:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/"},"wordCount":554,"commentCount":0,"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg","articleSection":["Django","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/","url":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/","name":"Elasticsearch with Django - Part 4","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage"},"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg","datePublished":"2018-07-09T01:52:20+00:00","dateModified":"2021-01-08T09:43:38+00:00","author":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/55b2e79e47f75ea4a246499a663a676a"},"description":"Learn more about how to connect a Django model to Elasticsearch for indexing and simple searching, but there is so much more that Elasticsearch can do.","breadcrumb":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#primaryimage","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/07\/elasticsearch-with-django\u200a.jpg","width":1024,"height":682,"caption":"Elasticsearch with Django"},{"@type":"BreadcrumbList","@id":"https:\/\/www.botreetechnologies.com\/blog\/elasticsearch-with-django-part-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.botreetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Elasticsearch with Django &#8211; Part 4"}]},{"@type":"WebSite","@id":"https:\/\/www.botreetechnologies.com\/blog\/#website","url":"https:\/\/www.botreetechnologies.com\/blog\/","name":"BoTree Technologies","description":"Committed to inspire generation.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/55b2e79e47f75ea4a246499a663a676a","name":"Daxita Rajput","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/daxita-rajput-150x150.png","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/daxita-rajput-150x150.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/daxita-rajput-150x150.png","caption":"Daxita Rajput"}}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=3669"}],"version-history":[{"count":3,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3669\/revisions"}],"predecessor-version":[{"id":14887,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3669\/revisions\/14887"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media\/13036"}],"wp:attachment":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=3669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=3669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=3669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}