<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Javascript - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Javascript - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/search-labs/blog/category/javascript-programming</link>
    </image>
    <link>https://www.elastic.co/search-labs/blog/category/javascript-programming</link>
    <atom:link href="https://www.elastic.co/search-labs/rss/category/javascript-programming.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Fri, 18 Sep 2026 17:13:02 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Export your Kibana Dev Console requests to Python and JavaScript Code]]></title>
    <description><![CDATA[The Kibana Dev Console now offers the option to export requests to Python and JavaScript code that is ready to be integrated into your application.]]></description>
    <content:encoded><![CDATA[<p>Have you used the Kibana Dev Console? This is a fantastic prototyping tool that allows you to build and test your Elasticsearch requests interactively. But what do you do after you have a working request in the Console?</p><p>In this article we'll take a look at the new code generation feature in the Kibana Dev Console, and how it can significantly reduce your development effort by generating ready to use code for you.</p><p>This feature is available in our Serverless platform and in Elastic Cloud and self-hosted releases 8.16 and up.</p><h2>The Kibana Dev Console</h2><p>This section provides a quick introduction to the <a href="https://www.elastic.co/guide/en/kibana/current/console-kibana.html">Kibana Dev Console</a>, in case you have never used it before. Skip to the next section if you are already familiar with it.</p><p>While you are in any part of the Search section in Kibana, you will notice a "Console" link at the bottom of your browser's page:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7c0bbd6964b0886d/6a170aeb6f7f04dfb991484b/e80850635ecc74536696743181afb3ac0c74e38f-1024x742.png" alt="The Kibana Dev Console - Open Console" /><p>When you click this link, the Console expands to cover the page. Click it again to collapse it.</p><p>In the left-side panel of the Dev Console, you can enter Elasticsearch requests, with the help of an interactive editor that provides auto-completion and checks your syntax. Some example requests are already pre-populated so that you have something to start experimenting with.</p><p>When the cursor is on a request, a "play" button appears to its right. You can click this button to send the request to your Elasticsearch server.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8e8bf8f61f065daa/6a170aed964cea4ffa08bb9b/520637e15cd03234aefd26502e42c80310b3734f-1006x230.png" alt="Kibana Dev Console Send Request" /><p>After you execute a request, the response from the server appears in the panel on the right.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8c9a61493ab010d9/6a170aef0e2e49de6d41a0e2/ef250921da3ff260a6f56d6d4745842096809564-1024x642.png" alt="Kibana Dev Console Response" /><h2>Code Export feature in Kibana Dev Console</h2><p>The Dev Console makes it easy to prototype your requests or queries until you get exactly what you want. But what happens next? If you need to convert the request to code so that you can incorporate it into your application, then you can save time using the new code export feature.</p><p>Next to the Play button you will find the three dot or "kebab" button, which opens a menu of options. The first option provides access to the code export feature. If you've never used this feature before, it will appear with a "Copy as curl" label.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt69fd88f2ae0eadae/6a170af02b835f8ca2f4b205/27fe3d5aa5874d094d26d35ff2188ccc0e435b9f-1272x476.png" alt="Kibana Dev Console Options Menu" /><p>If you select this option, your clipboard will be loaded with a <a href="https://curl.se/">curl</a> command that is equivalent to the selected request.</p><p>Now, things get more interesting when you click the "Change" link, which allows you to switch to a different target language. In this initial release, the code export adds support for Python and JavaScript. More languages are expected to be added in future releases.</p><p>You can now select your desired language and click "Copy code" to put the exported code in your clipboard. You can also change the default language that is offered in the menu.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt64d35579b66099a4/6a170af266c4f9d021f8c02d/dd4c2c94ea17ba74bae7cf05fbab4b3944cb37ed-1256x702.png" alt="Kibana Dev Console Select Language" /><p>The exported code is a complete script in the selected language, using the official Elasticsearch client for that language. Here is an example of how the <code>PUT /my-index</code> request shown above looks when exported to the Python language:</p>import os
from elasticsearch import Elasticsearch

client = Elasticsearch(
    hosts=["&lt;your-elasticsearch-endpoint-url-here"],
    api_key=os.getenv("ELASTIC_API_KEY"),
)

resp = client.indices.create(
    index="my-index",
)
print(resp)<p>To use the exported code follow these steps:</p><ul><li><p>Paste the code from the clipboard to a new file with the correct extension (<code>.py</code> for Python, or <code>.js</code> for JavaScript).</p></li><li><p>In your terminal, add an environment variable called <code>ELASTIC_API_KEY</code> with a valid API Key for your Elasticsearch cluster. You can <a href="https://www.elastic.co/guide/en/kibana/current/api-keys.html#create-api-key">create an API key</a> right in Kibana if you don't have one yet.</p></li><li><p>Execute the script with the <code>python</code> or <code>node</code> commands depending on your language, making sure the official Elasticsearch client is installed.</p></li></ul><p>Now you are ready to adapt the exported code as needed to integrate it into your application!</p><h2>Conclusion</h2><p>In this article you have learned about the new Code Export feature in the Kibana Dev Console. We hope this feature will streamline your development process with Elasticsearch!</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/kibana-dev-console-code-export</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/kibana-dev-console-code-export</guid>
    <category><![CDATA[Python]]></category>
    <category><![CDATA[Javascript]]></category>
    <category><![CDATA[Kibana]]></category>
    <dc:creator><![CDATA[Miguel Grinberg]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt64d35579b66099a4/6a170af266c4f9d021f8c02d/dd4c2c94ea17ba74bae7cf05fbab4b3944cb37ed-1256x702.png" length="0" type="image/png"/>
    <pubDate>Wed, 30 Oct 2024 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Automatically updating your Elasticsearch index using Node.js and an Azure Function App]]></title>
    <description><![CDATA[Learn how to update your Elasticsearch index automatically using Node.js and an Azure Function App. Follow these steps to ensure your index stays current.]]></description>
    <content:encoded><![CDATA[<p>Maintaining an up-to-date Elasticsearch index is crucial, especially when dealing with frequently changing dynamic datasets. This blog post will guide you through automatically updating your Elasticsearch index using Node.js and an Azure Function App.</p><p>First, we'll load the data using Node.js and ensure it remains current through regular updates. Then, we'll leverage the capabilities of <a href="https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview?pivots=programming-language-javascript">Azure Function Apps</a> to automate these updates, thereby ensuring your index is always fresh and reliable.</p><p>For this blog post, we will be using the <a href="https://data.nasa.gov/Space-Science/Asteroids-NeoWs-API/73uw-d9i8/about_data">Near Earth Object Web Service (NeoWs</a>), a RESTful web service offering detailed information about near-earth asteroids. By integrating NeoWs with Node.js services integrated as Azure serverless functions, this example will provide you with a robust framework to handle the complexities of managing dynamic data effectively. This approach will help you minimize the risks of working with outdated information and maximize the accuracy and usefulness of your data.</p><h2>Prerequisites</h2><ul><li><p>This example uses Elasticsearch version 8.13; if you are new to Elasticsearch, check out our Quick Start on <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html">Elasticsearch</a>. Any 8.0 version should work for this blog post.</p></li><li><p>Download the latest <a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm">NPM and Node.js version</a>. This tutorial uses Node v21.6.1 and npm 10.5.0.</p></li><li><p><a href="https://api.nasa.gov/">An API key</a> for NASA's APIs.</p></li><li><p>An active <a href="https://azure.microsoft.com/en-us/">Azure account</a> with access to create a Function App.</p></li><li><p>Access to the <a href="https://azure.microsoft.com/en-us/get-started/azure-portal">Azure portal</a> or <a href="https://learn.microsoft.com/en-us/cli/azure/">Azure CLI</a></p></li></ul><h2>Setting up locally</h2><p>Before you begin indexing and loading your data locally, setting up your environment is essential. First, create a directory and initialize it. Then, download the necessary packages and create a <code>.env</code> file to store your configuration settings. This preliminary setup ensures your local environment is prepared to handle the data efficiently.</p>mkdir Introduction-to-Data-Loading-in-Elasticsearch-with-Nodejs
cd Introduction-to-Data-Loading-in-Elasticsearch-with-Nodejs
npm init
<p>You will be using the <a href="https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html">Elasticsearch node client</a> to connect to Elastic, <a href="https://www.npmjs.com/package/axios">Axios</a> to connect to the NASA APIs and <a href="https://www.npmjs.com/package/dotenv">dotenv</a> to parse your secrets. You will want to download the required packages running the following commands:</p>npm install @elastic/elasticsearch axios dotenv
<p>After downloading the required packages, you can create a .<code>env</code> file at the root of the project directory. The .<code>env</code> file allows you to keep your credentials secure locally. Check out the <a href="https://github.com/elastic/elasticsearch-labs/blob/main/supporting-blog-content/automatically-updating-your-index-nodejs-azure/env.example">example .env file</a> to learn more. To learn more about connecting to Elasticsearch, be sure to take a look at the <a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm">documentation on the subject</a>.</p><p>To create a <code>.env</code> file, you can use this command at the root of your project:</p>touch .env
<p>In your <code>.env </code>, be sure to have the following entered in. Be sure to add your complete endpoint:</p>ELASTICSEARCH_ENDPOINT="https://...."
ELASTICSEARCH_API_KEY="YOUR_ELASTICSEARCh_API_KEY"
NASA_API_KEY="YOUR_NASA_API_KEY"
<p>You will also want to create a new JavaScript file as well:</p>touch loading_data_into_a_index.js
<h2>Creating your index and loading your data in</h2><p>Now that you have set up the proper file structure and downloaded the required packages, you are ready to create a script that creates an index and loads data into the index. If you get stuck along the way be sure to check out the <a href="https://github.com/elastic/elasticsearch-labs/blob/main/supporting-blog-content/automatically-updating-your-index-nodejs-azure/loading_data_into_a_index.js">full version of the file</a> you are creating in this section.</p><p>In the file <code>loading_data_into_a_index.js,</code> configure the <a href="https://www.npmjs.com/package/dotenv">dotenv</a> package to use the keys and tokens stored in your .<code>env </code>file. You should also import the <a href="https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html">Elasticsearch client</a> to connect to Elasticsearch and <a href="https://www.npmjs.com/package/axios">Axios</a> and make HTTP requests.</p>require('dotenv').config();

const { Client } = require('@elastic/elasticsearch');
const axios = require('axios');
<p>Since your keys and tokens are currently stored as environment variables, you will want to retrieve them and create a client to authenticate to Elasticsearch.</p>const elasticsearchEndpoint = process.env.ELASTICSEARCH_ENDPOINT;
const elasticsearchApiKey = process.env.ELASTICSEARCH_API_KEY;
const nasaApiKey = process.env.NASA_API_KEY;

const client = new Client({
  node: elasticsearchEndpoint,
  auth: {
    apiKey: elasticsearchApiKey
  }
});
<p>You can develop a function to retrieve data from NASA's NEO (Near Earth Object) Web Service asynchronously. You will first configure the base URL for the NASA API request and create date objects for today and the previous week to establish the query period. After you format these dates in the YYYY-MM-DD format required for the API request, set up the dates as query parameters and execute the GET request to the NASA API. Additionally, the function includes error-handling mechanisms to aid debugging should any issues arise.</p>async function fetchNasaData() {
  const url = "https://api.nasa.gov/neo/rest/v1/feed";
  const today = new Date();
  const lastWeek = new Date(today);
  lastWeek.setDate(today.getDate() - 7);

  const startDate = lastWeek.toISOString().split('T')[0];
  const endDate = today.toISOString().split('T')[0];
  const params = {
    api_key: nasaApiKey,
    start_date: startDate,
    end_date: endDate,
  };

  try {
    const response = await axios.get(url, { params });
    return response.data;
  } catch (error) {
    console.error('Error fetching data from NASA:', error);
    return null;
  }
}
<p>Now, you can create a function to transform the raw data from the NASA API into a structured format. Since the data you get back is currently nested in a complex JSON response. A more straightforward array of objects makes handling data easier.</p>function createStructuredData(response) {
  const allObjects = [];
  const nearEarthObjects = response.near_earth_objects;

  Object.keys(nearEarthObjects).forEach(date =&gt; {
    nearEarthObjects[date].forEach(obj =&gt; {
      const simplifiedObject = {
        close_approach_date: date,
        name: obj.name,
        id: obj.id,
        miss_distance_km: obj.close_approach_data.length &gt; 0 ? obj.close_approach_data[0].miss_distance.kilometers : null,
      };

      allObjects.push(simplifiedObject);
    });
  });

  return allObjects;
}
<p>You will want to create an index to store the data from the API. An <a href="https://www.elastic.co/blog/what-is-an-elasticsearch-index">index</a> inside Elasticsearch is where you can store your data in documents. In this function, you will check to see if an index exists and create a new one if needed. You will also specify the proper <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html">mapping</a> of fields for your index. This function also loads the data into the index as documents and maps the id field from the NASA data to the<code> _id</code> field in Elasticsearch.</p>async function indexDataIntoElasticsearch(data) {
  const indexExists = await client.indices.exists({ index: 'nasa-node-js' });
  if (!indexExists.body) {
    await client.indices.create({
      index: 'nasa-node-js',
      body: {
        mappings: {
          properties: {
            close_approach_date: { type: 'date' },
            name: { type: 'text' },
            miss_distance_km: { type: 'float' },
          },
        },
      },
    });
  }

  const body = data.flatMap(doc =&gt; [{ index: { _index: 'nasa-node-js', _id: doc.id } }, doc]);
  await client.bulk({ refresh: false, body });
}
<p>You will want to create a main function to fetch, structure, and index the data. This function will also print out the number of records being uploaded and log whether the data is indexed, whether there is no data to index, or whether it failed to get data back from the NASA API. After creating the <code>run</code> function, you will want to call the function and catch any errors that may come up.</p>async function run() {
  const rawData = await fetchNasaData();
  if (rawData) {
    const structuredData = createStructuredData(rawData);
    console.log(`Number of records being uploaded: ${structuredData.length}`);
    if (structuredData.length &gt; 0) {
      await indexDataIntoElasticsearch(structuredData);
      console.log('Data indexed successfully.');
    } else {
      console.log('No data to index.');
    }
  } else {
    console.log('Failed to fetch data from NASA.');
  }
}

run().catch(console.error);
<p>You can now run the file from your command line by running the following:</p>node loading_data_into_a_index.js
<p>To confirm that your index has been successfully loaded, you can check in the Elastic Dev Tools by executing the following API call:</p>GET /nasa-node-js/_search
<h2>Keeping your index updated with an Azure Function App</h2><p>Now that you've successfully loaded your data into your index locally, this data can quickly become outdated. To ensure your information remains current, you can set up an Azure Function App to automatically fetch new data daily and upload it to your Elasticsearch index.</p><p>The first step is to configure your Function app in Azure Portal. A helpful resource for getting started is the <a href="https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal?pivots=programming-language-javascript">Azure quick start guide</a>.</p><p>After you've set up your function, you can ensure that you have environment variables set up for <code>ELASTICSEARCH_ENDPOINT</code>, <code>ELASTICSEARCH_API_KEY</code>, and <code>NASA_API_KEY</code>. In Function Apps, environment variables are called Application settings. Inside your function app, click on the "Configuration" option in the left panel under "Settings." Under" the "Application settings" tab, click on "+ New application setting."</p><p>You will want to make sure the required libraries are installed as well. If you go to your terminal on the Azure Portal, you can install the necessary packages by entering the following:</p>npm install @elastic/elasticsearch axios
<p>The packages you are installing should look very similar to the previous install, except you will be using the moment to parse dates, and you no longer need to load an env file since you just set your secrets to be Application settings.</p><p>You can click where it says create to create a new function inside your Function App select the template entitled “Timer trigger”. You will now have a file called function.json set for you. You will want to adjust it to look as follows to run this application every day at 10 am.</p>{
    "bindings": [
      {
        "name": "myTimer",
        "type": "timerTrigger",
        "direction": "in",
        "schedule": "0 0 10 * * *"
      }
    ]
  }
<p>You'll also want to upload your <code>package.json</code> file and ensure it appears as follows:</p>{
  "name": "introduction-to-data-loading-in-elasticsearch-with-nodejs",
  "version": "1.0.0",
  "description": "A simple script for loading data in Elasticsearch",
  "main": "loading_data_into_a_index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/JessicaGarson/Introduction-to-Data-Loading-in-Elasticsearch-with-Nodejs.git"
  },
  "author": "Jessica Garson",
  "license": "Apache-2.0",
  "bugs": {
    "url": "https://github.com/JessicaGarson/Introduction-to-Data-Loading-in-Elasticsearch-with-Nodejs/issues"
  },
  "homepage": "https://github.com/JessicaGarson/Introduction-to-Data-Loading-in-Elasticsearch-with-Nodejs#readme",
  "dependencies": {
    "@elastic/elasticsearch": "^8.12.0",
    "axios": "^0.21.1"
  }
}
<p>The next step is to create a <code>index.js</code> file. This script is designed to automatically update the data daily. It accomplishes this by systematically fetching and parsing new data each day and then seamlessly updating the dataset accordingly. Elasticsearch can use the same method to ingest time series or immutable data, such as webhook responses. This method ensures the information remains current and accurate, reflecting the latest available data.You can can check out the <a href="https://github.com/elastic/elasticsearch-labs/blob/main/supporting-blog-content/automatically-updating-your-index-nodejs-azure/loading_data_into_a_index.js">full code</a> as well.</p><p>The main differences between the script you run locally and this one are as follows:</p><ul><li><p>You will no longer need to load a <code>.env</code> file, since you have already set your environment variables</p></li><li><p>There is also different logging designed more towards creating a more sustainable script</p></li><li><p>You keep your index updated based on the most recent <code>close approach date</code></p></li><li><p>There is an entry point for an Azure Function App</p></li></ul><p>You will first want to set up your libraries and authenticate to Elasticsearch as follows:</p>const elasticsearchEndpoint = process.env.ELASTICSEARCH_ENDPOINT;
const elasticsearchApiKey = process.env.ELASTICSEARCH_API_KEY;
const nasaApiKey = process.env.NASA_API_KEY;

const client = new Client({
 node: elasticsearchEndpoint,
 auth: {
   apiKey: elasticsearchApiKey
 }
});
<p>Afterward, you will want to obtain the last date update date from Elasticsearch and configure a backup method to get data from the past day if anything goes wrong.</p>async function getLastUpdateDate() {
  try {
    const response = await client.search({
      index: 'nasa-node-js',
      body: {
        size: 1,
        sort: [{ close_approach_date: { order: 'desc' } }],
        _source: ['close_approach_date']
      }
    });

    if (response.body &amp;&amp; response.body.hits &amp;&amp; response.body.hits.hits.length &gt; 0) {
      return response.body.hits.hits[0]._source.close_approach_date;
    } else {
      // Default to one day ago if no records found
      const today = new Date();
      const lastWeek = new Date(today);
      lastWeek.setDate(today.getDate() - 1);
      return lastWeek.toISOString().split('T')[0];
    }
  } catch (error) {
    console.error('Error fetching last update date from Elasticsearch:', error);
    throw error;
  }
}
<p>The following function connects to NASA's NEO (Near Earth Object) Web Service to get the data to keep your index updated. There is also some additional error handling that can capture any API errors that might come up.</p>async function fetchNasaData(startDate) {

  const url = "https://api.nasa.gov/neo/rest/v1/feed";
  const today = new Date();

  const endDate = today.toISOString().split('T')[0];

  const params = {
    api_key: nasaApiKey,
    start_date: startDate,
    end_date: endDate,
  };

  try {
    // Perform the GET request to the NASA API with query parameters
    const response = await axios.get(url, { params });
    return response.data;
  } catch (error) {
    // Log any errors encountered during the request
    console.error('Error fetching data from NASA:', error);
    return null;
  }
}
<p>Now, you will want to create a function to organize your data by iterating over the objects of each date.</p>function createStructuredData(response) {
  const allObjects = [];
  const nearEarthObjects = response.near_earth_objects;

  Object.keys(nearEarthObjects).forEach(date =&gt; {
    nearEarthObjects[date].forEach(obj =&gt; {
      const simplifiedObject = {
        close_approach_date: date,
        name: obj.name,
        id: obj.id,
        miss_distance_km: obj.close_approach_data.length &gt; 0 ? obj.close_approach_data[0].miss_distance.kilometers : null,
      };

      allObjects.push(simplifiedObject);
    });
  });

  return allObjects;
}
<p>Now, you will want to load your data into Elasticsearch using the bulk indexing operation. This function should look similar to the one in the previous section.</p>async function indexDataIntoElasticsearch(data) {
  const body = data.flatMap(doc =&gt; [{ index: { _index: 'nasa-node-js', _id: doc.id } }, doc]);
  await client.bulk({ refresh: false, body });
}
<p>Finally, you will want to create an entry point for the function that will run according to the timer you set. This function is similar to a main function, as it calls the functions created previously in the file. There is also some additional logging, such as printing the number of records and informing you if the data was indexed correctly.</p>module.exports = async function (context, myTimer) {
  try {
    const lastUpdateDate = await getLastUpdateDate();
    context.log(`Last update date from Elasticsearch: ${lastUpdateDate}`);

    const rawData = await fetchNasaData(lastUpdateDate);
    if (rawData) {
      const structuredData = createStructuredData(rawData);
      context.log(`Number of records being uploaded: ${structuredData.length}`);
      
      if (structuredData.length &gt; 0) {

        const flatFileData = JSON.stringify(structuredData, null, 2);
        context.log('Flat file data:', flatFileData);

        await indexDataIntoElasticsearch(structuredData);
        context.log('Data indexed successfully.');
      } else {
        context.log('No data to index.');
      }
    } else {
      context.log('Failed to fetch data from NASA.');
    }
  } catch (error) {
    context.log('Error in run process:', error);
  }
<h2>Conclusion</h2><p>Using Node.js and <a href="https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview?pivots=programming-language-javascript">Azure's Function App</a>, you should be able to ensure that your Elasticsearch index is updated regularly. By utilizing Node.js's capabilities in conjunction with Azure's Function App, you can efficiently maintain your index's regular updates. This powerful combination offers a streamlined, automated process, reducing the manual effort involved in keeping your index regularly updated. Full code for this example can be found on <a href="https://github.com/elastic/elasticsearch-labs/tree/main/supporting-blog-content/automatically-updating-your-index-nodejs-azure">Search Labs GitHub</a>. Let us know if you built anything based on this blog or if you have questions on our <a href="https://discuss.elastic.co/">forums</a> and <a href="https://communityinviter.com/apps/elasticstack/elastic-community">the community Slack channel</a>.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-index-node-js-automatic-updates</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-index-node-js-automatic-updates</guid>
    <category><![CDATA[Javascript]]></category>
    <category><![CDATA[Basics]]></category>
    <dc:creator><![CDATA[Jessica Garson]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt373f9290a1371dd7/6a17122e0c48579b2001abba/fd87bff40e296ebce871d631c86fd0245f11c796-1440x960.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 04 Jun 2024 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>