文本搜索node js--meilisearch

meilisearch 文本搜索处理

meilisearch 安装

建议使用docker 安装,

官网:https://www.meilisearch.com/docs/home

demo 示例安装使用独立的文件进行处理,版本号:V1.35.0

下载url:https://github.com/meilisearch/meilisearch

直接双击下载的文件(meilisearch-windows-amd64.exe),找到master_key 的值,把值复制一下

准备启动

需要配置环境变量

set MEILI_MASTER_KEY 贴贴master_key 的值

再执行:meilisearch-windows-amd64.exe

登录后台管理

打开地址:http://localhost:7700

输入master-key

初始化一笔数据,

1.从网址复制数据JSON,单独保存到当前项目中文件moves.json,用于测试:

网址:https://www.cnblogs.com/zhangyh-blog/p/18261643

截图如下:

2.安装使用sdk

npm install meilisearch@0.55.0,版本:0.55.0

网址:https://github.com/meilisearch/meilisearch-js?tab=readme-ov-file#settings

https://github.com/meilisearch/meilisearch

3.准备代码

javascript 复制代码
const { Meilisearch } = require('meilisearch');

(async () => {
    const client = new Meilisearch({
        host: 'http://localhost:7700',
        apiKey: 'aEd5TX5Iz8cAQUIUECoPhu6Tacx4b3uAhMPXMCA7eT8',//masterKey
    });

    const moviesIndex = await client.index('movies');

    // 用于搜索的字段
    await moviesIndex.updateSearchableAttributes(['name', 'detail']);

    // 自定义排序规则
   // await coursesIndex.updateSortableAttributes(['updatedAt', 'likesCount']);

    //生成10条这样的数据
    //加载json数据从movies.json 文件读取
    const documents = require('./moves.json');
    console.log(documents);

    const documents_n = documents.map((item,index) => {
        item.id = index + 1;
        return item;
    });
    let response = await moviesIndex.addDocuments(documents_n);
    console.log('Documents added successfully');
    console.log(response);
})();
  1. 效果如下

来搜一下,比如输入:里昂

5.查询

代码如下:

javascript 复制代码
const { Meilisearch } = require('meilisearch');

(async () => {
    const client = new Meilisearch({
        host: 'http://localhost:7700',
        apiKey: 'aEd5TX5Iz8cAQUIUECoPhu6Tacx4b3uAhMPXMCA7eT8',//masterKey
    });

    const moviesIndex = await client.index('movies');


    const response = await moviesIndex.search("里昂");
    console.log('Documents search successfully');
    console.log(response);
    //搜索到的结果
    const type = 'movies'
    const data = {};
    data[type] = response.hits;//获取数据结果
})();

6.检查任务:

http://localhost:7700/tasks 需要使用auth bear ,master key

截图如下:

相关推荐
z落落3 分钟前
C# 继承:父子构造函数 + base 关键字 +五大访问修饰符(同项目+跨项目 全覆盖)
开发语言·c#
ZC跨境爬虫6 分钟前
跟着 MDN 学CSS day_36:(float、clear与BFC深度解析)
前端·javascript·css·ui·交互
day day day ...16 分钟前
MyBatis / MyBatis-Plus 动态 SQL 中 OGNL 表达式的常见陷阱与源码分析
java·开发语言·mybatis
basketball61620 分钟前
C++ bitset 头文件完全指南
开发语言·c++
Kiling_070423 分钟前
Java IO流:字节流实战与性能优化
java·开发语言·php
糯米团子74934 分钟前
javascript高频知识点
开发语言·前端·javascript
Wonderful U1 小时前
基于Python+Django的在线题库与智能阅卷系统:从痛点分析到完整实现
开发语言·python·django
码语智行1 小时前
拦截器、接口限流、过滤器、防重发/幂等性功能说明
开发语言·网络·python
liulilittle1 小时前
麻将牌堆渲染(Lua)
开发语言·lua
雨落在了我的手上1 小时前
初始java(十七):常⽤⼯具类介绍
java·开发语言