📜  Elasticsearch-模块(1)

📅  最后修改于: 2023-12-03 14:40:57.458000             🧑  作者: Mango

Elasticsearch 模块

简介

Elasticsearch 是一个基于 Lucene 的开源搜索引擎,可用于全文搜索、结构化搜索和分析等。Elasticsearch 模块是与 Elasticsearch 连接并进行交互的 Node.js 模块。

安装

可以使用 npm 引入 Elasticsearch 模块。

npm install elasticsearch
示例
连接到 Elasticsearch

连接到 Elasticsearch 可以使用 Elasticsearch.Client。在构造函数中可以传入一个配置对象,如下所示:

const elasticsearch = require('elasticsearch');
const client = new elasticsearch.Client({
  host: 'localhost:9200',
  log: 'trace'
});
创建索引

可以使用 client.indices.create 方法创建 Elasticsearch 索引。下面是一个创建名为 myindex 的索引的示例:

client.indices.create({
  index: 'myindex'
}, function(error, response, status) {
  if (error) {
    console.log(error);
  } else {
    console.log('创建索引成功', response);
  }
});
添加文档

可以使用 client.index 方法添加文档到 Elasticsearch 索引中。下面是一个添加一篇帖子的示例:

client.index({
  index: 'myindex',
  id: '1',
  body: {
    title: 'Node.js',
    content: 'Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。'
  }
}, function(error, response, status) {
  console.log(response);
});
搜索文档

可以使用 client.search 方法搜索 Elasticsearch 索引中的文档。下面是一个搜索帖子标题中包含关键字 "Node.js" 的示例:

client.search({
  index: 'myindex',
  body: {
    query: {
      match: {
        title: 'Node.js'
      }
    }
  }
}, function(error, response, status) {
  console.log(response);
});
总结

以上是 Elasticsearch 模块的基本介绍和示例代码。使用 Elasticsearch 模块可以轻松地与 Elasticsearch 进行交互,从而实现全文搜索、结构化搜索和分析等功能。