文本搜索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

截图如下:

相关推荐
用户00447295382511 分钟前
练歌镜:让眼镜听懂“循环这一句”
javascript
yuyuxun13 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
another heaven4 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
SomeOtherTime5 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain6 小时前
C++转Java日记(10)
java·开发语言
总要学点什么6 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
xiaoye-duck7 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
Agent世界8 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
Funlang8 小时前
龙芯上的 Fun:从跑起来到机器码
开发语言·龙芯
总要学点什么8 小时前
第104篇:三维特效-流动墙体效果——让贴图沿墙流动,它却只肯走一条对角线
开发语言·javascript·ecmascript·gis·webgl·材质·cesium