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

截图如下:

相关推荐
朝朝辞暮i17 分钟前
C++ 第 26 课:对象、指针与 ->
java·开发语言·c++
2601_962885721 小时前
如何用 Python 做股价历史分位选股?(筛出处于历史低位的股票)
开发语言·python
默_笙1 小时前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript
阿坨1 小时前
灵感闪存卡:一款 Tampermonkey用户脚本
javascript·tampermonkey
殷色玫瑰1 小时前
C++入门基础复习:从命名空间到引用与nullptr,一篇重新捡回C++基础
java·开发语言·c++
(Charon)2 小时前
【C++面试】手写线程池:任务队列、工作线程与优雅退出
开发语言·c++
言乐62 小时前
Python概括后端原理
开发语言·python·django·virtualenv·pygame
@大迁世界2 小时前
JEV RAG:更高效的 RAG 系统解决方案?
开发语言·rust
朝朝辞暮i3 小时前
C++ 第一阶段总结:从零基础到 ROS2 前置语法
开发语言·c++·算法
朝朝辞暮i3 小时前
C++ 第 25 课:getter / setter + this
java·javascript·c++