是一个快捷、易用且易部署的全文搜索引擎,支持自定义搜索和索引,支持容错搜索、过滤器和同义词。天生支持中文搜索。同时支持搜索结果词语高亮显示等。相比ElasticSearch,MeiliSearch更加轻量化。 官网地址:http://www.meilisearch.com/
支持多种安装方式,本文采取的是docker的安装方式。 其他安装方式详见官网文档: https://docs.meilisearch.com/learn/getting_started/installation.html#download-and-launch
docker方式安装:
运行命令后,程序将自动安装docker版的MeiliSearch,会在你当前执行命令所在的目录下新建一个data.ms文件夹,用于保存MeiliSearch的数据。
安装好后,访问你的服务器IP:7700,例如 http://127.0.0.1:7700 ,显示如下界面则说明安装成功:
官方提供了一个的测试文件,下载地址:https://raw.githubusercontent.com/meilisearch/MeiliSearch/master/datasets/movies/movies.json
只需要将该文件中的内容POST到即可,例如:
其中就代表索引的唯一标识。如果没有创建,POST后,会自动创建。
这里为了简便,使用了POSTMAN来发送POST请求。
发送后,返回的响应的如下:
MeiliSearch的大部分操作都是异步的,当我们发送post数据到MeiliSearch服务器后,MeiliSearch会立即返回一个响应,这个响应就是updateId,通过updateId可以进一步查询状态。 通过访问可以查看响应结果的状态。
导入测试数据后,再次回到,可以体验下MeiliSearch了:
例如这里将id为9502的数据的title属性的值改为:
发送后,返回的响应的如下:
通过访问可以查看响应结果的状态。
通过GET方式可以查询目前检索的字段,默认为所有字段:
设置检索的字段:
最简单的搜索
只需要POST一个参数:q,值为要检索的词到即可。 返回的结果为JSON字段串,格式如下:
更多参数
以上代表从0开始,查找10个与关键词panda相关的内容。 更多参数可以查看官方文档:https://docs.meilisearch.com/reference/api/search.html#search-in-an-index-with-post-route
添加attributesToHighlight参数,设置需要高亮关键词的字段。返回的结果中将多一个字段,该字段内容为添加了关键词高亮的数组,关键词通过html标签包裹。 返回的格式如下:
官方提供了PHP SDK的下载,下载地址:https://github.com/meilisearch/meilisearch-php
如果觉得麻烦,也可以使用下面简易的代码: