MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点:

  • 支持中文搜索:MeiliSearch 对中文有良好的支持,不需要额外的配置。
  • 高度可定制:搜索和索引都可以高度定制,提供了诸如错字容忍、过滤器和同义词等功能。
  • 快速搜索:MeiliSearch 的搜索速度通常在 50 毫秒以内,能够提供快速的搜索体验。
  • 易于使用和部署:它提供了简单的安装和部署方式,并且有友好的 Web 界面用于开发调试。
  • 开源:MeiliSearch 是一个开源项目,用户可以自由使用和修改。

MeiliSearch 适用于各种需要搜索功能的场景,例如网站搜索、文档搜索、电商搜索等。它可以与各种编程语言和框架集成,提供灵活的搜索解决方案。

官网 https://www.meilisearch.com/

github: https://github.com/meilisearch/meilisearch

目前已有44k star

在线应用案例

https://where2watch.meilisearch.com/?utm_campaign=oss\&utm_source=docs\&utm_medium=what-is-meilisearch\&utm_content=gif

docker 安装 MeiliSearch

以下是在 Docker 中安装 MeiliSearch 的步骤:

  1. 拉取 MeiliSearch 镜像:

    复制代码
    docker pull getmeili/meilisearch:latest
  2. 启动 MeiliSearch 服务:

    复制代码
    docker run -itd --rm \
    -p 7700:7700 \
    -v $(pwd)/meili_data:/meili_data \
    getmeili/meilisearch:latest
  3. 访问 MeiliSearch 服务:
    启动成功后,可以通过ip+端口进行访问,例如:http://111.230.12.22:7700。

MeiliSearch支持多种语言的客户端

以下是一个使用 MeiliSearch Java 客户端的简单教程:

  1. 添加依赖 :在项目的pom.xml文件中添加 MeiliSearch Java 客户端的依赖。例如:
xml 复制代码
<dependencies>
    <dependency>
        <groupId>com.meilisearch</groupId>
        <artifactId>meilisearch-java</artifactId>
        <version>0.18.0</version>
    </dependency>
</dependencies>
  1. 创建 MeiliSearch 实例:使用主机地址和 API 密钥创建 MeiliSearch 实例。示例代码如下:
java 复制代码
import com.meilisearch.sdk.Client;

Client client = new Client("http://localhost:7700", "API_KEY");
  1. 创建索引:使用 MeiliSearch 实例创建一个新的索引。示例代码如下:
java 复制代码
import com.meilisearch.sdk.Index;

Index index = client.index("books");
  1. 添加文档:将文档添加到索引中。示例代码如下:
java 复制代码
import com.meilisearch.sdk.UpdateStatus;
import com.meilisearch.sdk.documents.Document;

Document document = new Document("book_id", "book_title", "book_description");
UpdateStatus updateStatus = index.addDocuments(document);
  1. 执行搜索:执行搜索操作来获取与查询匹配的结果。示例代码如下:
java 复制代码
import com.meilisearch.sdk.SearchResult;

SearchResult searchResult = index.search("query");
List<Map<String, Object>> hits = searchResult.getHits();
  1. 更新文档:更新索引中的文档。示例代码如下:
java 复制代码
import com.meilisearch.sdk.UpdateStatus;
import com.meilisearch.sdk.documents.Document;

Document document = new Document("book_id", "updated_title", "updated_description");
UpdateStatus updateStatus = index.updateDocuments(document);
  1. 删除文档:从索引中删除文档。示例代码如下:
java 复制代码
import com.meilisearch.sdk.UpdateStatus;

UpdateStatus updateStatus = index.deleteDocument("book_id");
相关推荐
Elastic 中国社区官方博客14 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
努力努力再努力FFF20 小时前
从选题策划到稿件落地,编辑该怎么选 AI 证书?
搜索引擎
Elastic 中国社区官方博客2 天前
告别繁琐控制台:Kabanos 如何将 MongoDB Compass 的易用性带入 Elasticsearch
大数据·数据库·mongodb·elasticsearch·搜索引擎·全文检索
Elastic 中国社区官方博客2 天前
控制告警如何触发、恢复和发送通知:Elastic 可观测性中的 Kibana 通用告警
大数据·数据库·安全·elasticsearch·搜索引擎·全文检索·es
漫步人生走在路上2 天前
外贸SEO中的品牌词与产品词策略:大卖家和小卖家的不同打法
大数据·javascript·网络·数据库·人工智能·搜索引擎
Sayai2 天前
Elasticsearch Rollup 汇算索引实战:监控指标多粒度预聚合查询,附 painless 时间窗取每日最新值
大数据·运维·elasticsearch·搜索引擎·性能优化·监控
科研邪修法2 天前
文献怎么检索?UPDF论文搜索和文献筛选方法
搜索引擎
Elastic 中国社区官方博客3 天前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
Elastic 中国社区官方博客3 天前
Observability:当 YAML 遇上 IConfiguration:OpenTelemetry .NET SDK 的声明式配置
大数据·开发语言·elasticsearch·搜索引擎·全文检索·.net
zyseo83 天前
谷歌SEO 抓取日志分析脚本:解析访问日志,看穿 Googlebot 的抓取行为
大数据·数据库·搜索引擎·自动化