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

截图如下:

相关推荐
Anastasiozzzz2 小时前
G1垃圾回收流程详解
java·开发语言·算法
前路不黑暗@2 小时前
Java项目:Java脚手架项目的通用组件的封装(五)
java·开发语言·spring boot·学习·spring cloud·bootstrap·maven
sa100273 小时前
京东评论接口调用、签名生成与异常处理
开发语言·数据库·python
问今域中3 小时前
Vue的computed用法解析
前端·javascript·vue.js
赵谨言3 小时前
基于Python实现地理空间数据批处理技术探讨及实现--以“多规合一“总体规划数据空间叠加分析为例
大数据·开发语言·经验分享·python
扶苏10023 小时前
详解Vue3的provide和inject
前端·javascript·vue.js
独自破碎E3 小时前
BISHI40数组取精
java·开发语言
丑八怪大丑3 小时前
Java面向对象(进阶)
java·开发语言
java1234_小锋3 小时前
Java高频面试题:Java中变量和常量有什么区别?
java·开发语言·面试