带你读《Elastic Stack 实战手册》之66:——3.5.19.2.Elasticsearch语言开发(Node.js)(中)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之66:——3.5.19.2.Elasticsearch语言开发(Node.js)(中)


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.19.Elasticsearch语言开发(Python/Nodejs/Java)——3.5.19.2.Elasticsearch语言开发(Node.js)(上) https://developer.aliyun.com/article/1226593



三、配置和初始化

 

1. 环境准备

 

Node.js v12.18.x、ES 7.10,本地启动并监听 9200 端口。

 

2. 工程准备

 

安装对应的 elasticsearch 依赖包版本:

 

npm install @elastic/elasticsearch@7.10.0

 

 

yarn add @elastic/elasticsearch@7.10.0

3. 连接 ES

 

Node.js 客户端支持多种认证方式的连接:

 

l Elastic Cloud

l ApiKey

l Bearer token

l Basic

l SSL

l CA 指纹

当然也可以支持不开启认证集群情况下的连接方式,以连接本地集群为例:

const { Client } = require('@elastic/elasticsearch');
const client = new Client({ node: 'http://localhost:9200' });

四、API 示例

 

在开始 API 示例之前梳理一下示例要实现的功能:

 

l 判断索引是否存在

l 创建空索引

l 自定义 Mapping

l 插入一条数据

l 批量插入数据

l 更新数据

l 查询关键词

l 执行聚合操作

l 删除索引

 

以下示例均采用 Promise 形式:

1. Exists API

 

用于判断索引是否存在:

client.indices
  .exists({
    index: 'author-index',
  })
  .then(({ body }) => {
    console.log(JSON.stringify(body));
  })
  .catch(console.error);

2. Index API

 

存在两种创建索引方式:

l 第一种,创建空索引,手动添加 Mapping

l 第二种,直接创建索引,ES 根据数据的格式生成出 Mapping

 

通过 Node.js 创建空索引的方式:

client.indices
  .create({
    index: 'author-index',
  })
  .then(({ body }) => {
    console.log(JSON.stringify(body));
  })
  .catch(console.error);


直接创建索引的方式:


client
  .index({
    index: 'author-index',
    // 因 type 在 ES 7.0 被废弃,也可以不填写 type
    type: '_doc',
    id: 0,
    body: {
      author: 'John',
      article: 'Everything has its time and that time must be watched.',
      age: 10,
      interests: ['sports', 'music'],
      createTime: '2021-11-15',
    },
  })
  .then(({ body }) => {
    console.log(JSON.stringify(body));
  })
  .catch(console.error);


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.19.Elasticsearch语言开发(Python/Nodejs/Java)——3.5.19.2.Elasticsearch语言开发(Node.js)(下) https://developer.aliyun.com/article/1226587


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
5天前
|
JavaScript 前端开发 NoSQL
深入浅出Node.js后端开发
本文将引导你了解Node.js的基础知识,包括安装、运行环境搭建以及简单的代码示例。通过阅读本文,你将学会如何利用Node.js进行后端开发,并理解异步编程和事件驱动模型的核心概念。文章还将介绍一些实用的库和框架,帮助你快速开始Node.js项目。
24 4
|
7天前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
35 3
|
5天前
|
前端开发 JavaScript 关系型数据库
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
这篇文章介绍了一个名为Vue3Admin的全栈后台应用,前端基于SoybeanAdmin二次开发,后端基于Nest.js。主要使用了Vue3.5、AntDesignVue、UnoCSS、Pinia等前端技术栈,以及Nest.js、PostgreSQL、Prisma等后端技术栈。文章详细描述了系统的功能设计,包括动态国际化语言配置、登录用户操作日志、用户和角色权限映射、动态路由菜单、消息公告发布及前端业务功能等。同时,也提供了项目运行所需的环境和依赖,以及如何拉取代码、安装依赖和启动项目的方法。最后,文章展示了项目的演示图,并对项目进行了总结,指出项目未经严格测试,仅供学习交流使用。
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
|
1天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【10月更文挑战第4天】本文将带你走进Node.js的世界,从基础的搭建到高级的应用,一步步揭示Node.js的强大与便捷。我们将通过实际的代码示例,让你在轻松的氛围中学习并掌握Node.js,开启你的后端开发之旅。
|
2天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【10月更文挑战第3天】在数字化时代的浪潮中,后端开发作为技术架构的核心,承载着数据处理和业务逻辑的重任。Node.js以其非阻塞I/O、事件驱动的特性,在众多后端技术中脱颖而出,成为高效、轻量级后端解决方案的代名词。本文将带领读者深入理解Node.js的精髓,从基础概念到实战应用,逐步揭示如何利用Node.js构建高性能的后端服务。通过浅显易懂的语言和实际案例分析,我们将探索Node.js在现代后端开发中的应用及其带来的变革。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往Node.js世界的大门,让你领略其背后的哲学和技术之美。
|
7天前
|
XML 监控 JavaScript
JavaScript 语言对企业上网监控的技术支持
在数字化企业环境中,上网监控对企业信息安全和提升员工效率至关重要。JavaScript 作为广泛应用的脚本语言,提供了强大的技术支持,包括数据获取与分析、与服务器端交互、监控页面加载时间和网络活动,助力企业有效管理上网行为,保障信息安全。
17 6
|
9天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【9月更文挑战第35天】本文将带你走进Node.js的世界,探索这个强大的后端开发平台。我们将从基础开始,逐步深入,最后以一个简单的代码示例结束,让你对Node.js有更深入的理解。无论你是前端开发者还是后端开发者,这篇文章都将为你提供有价值的信息。让我们一起开启Node.js的学习之旅吧!
|
1天前
|
Web App开发 JSON JavaScript
深入浅出:Node.js后端开发入门与实践
【10月更文挑战第4天】在这个数字信息爆炸的时代,了解如何构建一个高效、稳定的后端系统对于开发者来说至关重要。本文将引导你步入Node.js的世界,通过浅显易懂的语言和逐步深入的内容组织,让你不仅理解Node.js的基本概念,还能掌握如何使用它来构建一个简单的后端服务。从安装Node.js到实现一个“Hello World”程序,再到处理HTTP请求,文章将带你一步步走进Node.js的大门。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往后端开发新世界的大门。
|
18天前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
3天前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
12 2

相关产品

  • 检索分析服务 Elasticsearch版