MeiliSearch 文档、介绍、安装及HTTP请求测试

介绍

MeiliSearch是一个功能强大,快速,开源,易于使用和部署的搜索引擎。搜索和索引都是高度可定制的。允许输入、过滤器和同义词等特性都是开箱即用的。是近两年开源的项目,同样也支持中文分词,在小数据规模下可以实现比ElasticSearch更加快速和易用的搜索体验。更多安装、配置、使用等细节请参考官方文档交友网站

HTTP方式操作索引

  • 创建索引
POST  http://192.144.228.170:7700/indexes
{
  "uid" : "product",
  "primaryKey": "id"
}
注:uid是必需的字段
  • 查询所有索引信息
GET  http://192.144.228.170:7700/indexes
  • 查询单个指定索引信息
GET  http://192.144.228.170:7700/indexes/product
  • 更新索引
PUT  http://192.144.228.170:7700/indexes
{
  "uid" : "product",
  "primaryKey": "id"
}
注:uid是必需的字段
  • 删除索引
DELETE  http://192.144.228.170:7700/indexes/product

HTTP方式操作文档

  • 添加或替换文档
说明:如果文档id存在,则替换文档,如果指定的索引不存在,则自动创建索引
POST  http://192.144.228.170:7700/indexes/product/documents
[
    {
        "id": "1",
        "name": "GoLang",
        "desc": "互联网时代的C语言",
        "father": "Ken Thompson",
        "company": "Google"
    },
    {
        "id": "2",
        "name": "Python",
        "desc": "人生苦短,我用Python",
        "father": "Guido van Rossum"
    },
    {
        "id": "3",
        "productName": "手机",
        "品牌": "xiaomi",
        "价格": "4299",
        "desc": "让天下没用难用的手机"
    }
]
  • 添加或更新文档
说明:如果id存在,则更新文档
PUT  http://192.144.228.170:7700/indexes/product/documents
[
    {
        "id": "4",
        "name": "Rust",
        "desc": "就很难"
    },
    {
        "id": "5",
        "name": "Java",
        "desc": "仅次于PHP的存在",
        "father": "James Gosling"
    },
    {
        "id": "6",
        "productName": "二锅头",
        "品牌": "红星",
        "价格": "9.5",
        "desc": "让天下没用难喝的酒"
    }
]
  • 查询索引下的所有文档
可选参数offset、limit、attributesToRetrieve=*
GET  http://192.144.228.170:7700/indexes/product/documents
  • 查询单个指定文档
路径参数1为文档的primaryKey
GET  http://192.144.228.170:7700/indexes/product/documents/1
  • 删除索引下的所有文档
DELETE  http://192.144.228.170:7700/indexes/product/documents
  • 删除单个指定文档
DELETE  http://192.144.228.170:7700/indexes/product/documents/6
  • 批量删除文档
POST  http://jvm123.com:7700/indexes/product/documents/delete-batch
["1", "2", "3"]

HTTP方式搜索

GET和POST都可进行搜索,建议使用POST(官方建议)
POST  http://192.144.228.170:7700/indexes/product/search
{
  "q": "go",
  "limit": 5,
  "offset": 0
}
结果如下:
{
    "hits": [
        {
            "id": "1",
            "name": "GoLang",
            "desc": "互联网时代的C语言",
            "father": "Ken Thompson",
            "company": "Google"
        },
        {
            "id": "5",
            "name": "Jave",
            "desc": "没有对手的东西",
            "father": "James Gosling"
        },
        {
            "id": "4",
            "name": "Rust",
            "desc": "就很难",
            "father": "Ken Thompson",
            "company": "Google"
        }
    ],
    "offset": 0,
    "limit": 5,
    "nbHits": 3,
    "exhaustiveNbHits": false,
    "processingTimeMs": 0,
    "query": "go"
}

HTTP方式查看异步更新状态

所有create/update/delete请求,都会将其操作放入一个队列中,并返回一个updateId,通过updateId,可以查询本次操作的结果状态信息

  • 查询所有异步更新状态的信息
GET  http://192.144.228.170:7700/indexes/product/updates
[
    {
        "status": "processed",
        "updateId": 0,
        "type": {
            "name": "DocumentsAddition",
            "number": 3
        },
        "duration": 0.355614339,
        "enqueuedAt": "2021-05-11T07:53:05.042469777Z",
        "processedAt": "2021-05-11T07:53:05.406005185Z"
    },
    {
        "status": "processed",
        "updateId": 1,
        "type": {
            "name": "DocumentsAddition",
            "number": 3
        },
        "duration": 0.004087888,
        "enqueuedAt": "2021-05-11T07:56:10.200752903Z",
        "processedAt": "2021-05-11T07:56:10.210661520Z"
    },
    {
        "status": "processed",
        "updateId": 2,
        "type": {
            "name": "DocumentsPartial",
            "number": 3
        },
        "duration": 0.006438527,
        "enqueuedAt": "2021-05-11T07:59:10.648921904Z",
        "processedAt": "2021-05-11T07:59:10.661462108Z"
    }
]
  • 查询指定updateId的异步更新状态信息
GET  http://192.144.228.170:7700/indexes/product/updates/1
{
    "status": "processed",
    "updateId": 1,
    "type": {
        "name": "DocumentsAddition",
        "number": 3
    },
    "duration": 0.004087888,
    "enqueuedAt": "2021-05-11T07:56:10.200752903Z",
    "processedAt": "2021-05-11T07:56:10.210661520Z"
}

HTTP方式查看其他信息(详情参考官方文档)

  • 查询索引的settings信息
GET  http://192.144.228.170:7700/indexes/product/settings
  • 查询索引的指标信息
GET  http://192.144.228.170:7700/indexes/product/stats
  • 查询MeiliSearch的keys
GET  http://192.144.228.170:7700/keys
  • 查询MeiliSearch指标信息
GET  http://192.144.228.170:7700/stats
  • 查询MeiliSearch健康状况
GET  http://192.144.228.170:7700/health
  • 查询MeiliSearch版本信息
GET  http://192.144.228.170:7700/version
  • dump备份
POST  http://192.144.228.170:7700/dumps
结果如下:
{
    "uid": "20210511-085916182",
    "status": "in_progress"
}
说明:.dump备份文件 在MEILI_DUMPS_DIR所指定的位置,uid为本次备份的唯一标识,可以通过UID,查看完成状态
  • 查看dump备份完成状态
GET  http://192.144.228.170:7700/dumps/20210511-085916182/status
{
    "uid": "20210511-085916182",
    "status": "done"
}
说明:done表示已完成

各种语言开发客户端API参考

Java开发者入口
JavaScript开发者入口
Go开发者入口
PHP开发者入口
Python开发者入口
Rust开发者入口
DoNet开发者入口

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值