当前位置: 首页 > news >正文

Easysearch 正式支持插件开发:让你的搜索系统真正“为你所用”

从"用搜索"到"造搜索"

搜索系统的需求千差万别。标准功能覆盖不了所有场景——行业特定的分词规则、定制化的业务逻辑、与外部系统的深度集成……

以往,这类定制需求需要依赖厂商支持。从 Easysearch 2.1.2 开始,你可以自己动手了。

随着构建依赖库正式发布到 Maven 中央仓库,Easysearch 的插件开发能力正式对外开放。这意味着 Easysearch 不再是一个黑盒产品,而是一个可扩展、可定制的搜索平台。你可以基于官方接口开发自定义插件,像使用原生功能一样使用它们。

插件能做什么

Easysearch 提供三类核心扩展点,覆盖搜索系统的关键环节:

1. 分析器插件(AnalysisPlugin)

自定义分词器、Token 过滤器、字符过滤器。适用于:

  • 电商 SKU 的型号规格解析
  • 医疗、法律等领域的专业术语分词
  • 特殊符号或空格的规范化处理

注册后直接在索引设置中使用,与原生分析器完全等同。

2. REST/API 插件(ActionPlugin)

新增自定义 HTTP 接口。适用于:

  • 封装业务查询逻辑,对外暴露简化 API
  • 对接企业内部权限中心或监控系统
  • 暴露插件自身的管理接口(如状态检查)

3. Ingest 插件(IngestPlugin)

在文档写入前进行字段转换。适用于:

  • 自定义业务字段转换(如根据业务规则计算衍生字段)
  • 数据标准化(统一日期格式、大小写转换)
  • 富文本提取或元数据生成

5 分钟上手

我们准备了官方模板仓库,让你从克隆到运行只需几条命令:

# 克隆模板
git clone https://github.com/infinilabs/easysearch-plugin-template.git my-plugin
cd my-plugin# 修改包名和类名,编写你的逻辑
# ...

方式一:开发调试——直接运行

# 构建插件并运行
./gradlew run# 验证插件
curl -s "http://localhost:9200/_cat/plugins?v" | grep my-plugin

方式二:构建后安装到外部集群

# 构建插件
./gradlew build# 安装到 Easysearch
bin/easysearch-plugin install file:///$(pwd)/build/distributions/my-plugin-0.1.0.zip# 启动验证
bin/easysearch
curl -s "http://localhost:9200/_cat/plugins?v" | grep my-plugin

完整的开发指南请参考插件开发文档。

设计哲学

Easysearch 插件系统的设计遵循三个原则:

渐进式扩展——从最简单的 Plugin 类开始,按需实现 AnalysisPluginActionPlugin 等接口,不必一次性掌握全部 API。

与原生同等——插件注册的分析器、处理器与系统原生组件在使用方式上完全一致,用户无需关心实现来源。

版本安全——插件加载时校验 easysearch.version,版本不匹配会拒绝加载,避免运行时异常。

从插件到生态

插件开发不只是技术能力的开放,更是产品理念的转变。

你可以将开发的插件发布到 GitHub Releases,通过 URL 直接安装:

bin/easysearch-plugin install https://github.com/yourname/my-plugin/releases/download/v0.1.0/my-plugin-0.1.0.zip

我们也欢迎社区贡献。如果你有通用的插件想法,欢迎与我们交流。

结语

搜索系统的最后一公里,只有业务开发者最清楚该怎么走。

Easysearch 2.1.2 的插件开发能力,让你能够自主掌控搜索系统的"最后一公里"。从"用搜索"到"造搜索",现在你可以让你的搜索系统真正"为你所用"。

http://www.jsqmd.com/news/759983/

相关文章:

  • Windows和Office永久激活终极指南:KMS智能激活工具完整教程
  • 这些降AI率工具千万别用:5类不达标退款套路曝光警示! - 我要发一区
  • 去i迹降AI率怎么用?朱雀AIGC自媒体降AI 4步教程详解! - 我要发一区
  • 20260505
  • 从蓝光到流媒体:H.264和H.265的‘权力交接’史,以及AV1、VVC谁会是下一个?
  • 告别盲目筛选:如何用双抗药筛(Neo+Puro)高效拿到CRISPR基因敲除单克隆细胞株
  • 详解传统RAG、Text2SQL、Graph RAG:适用场景与问题示例汇总
  • B站字幕下载终极指南:轻松获取CC字幕的完整教程
  • AI应用WebUI框架:从模型部署到交互界面的全栈解决方案
  • 从工业机器人到机械臂:前向运动学(FK)在实际调试中的5个常见坑与避坑指南
  • 为什么硕博生都在用比话降AI?知网AIGC急救3大核心原因! - 我要发一区
  • UE5网络同步避坑指南:手把手教你正确使用Server、Client和NetMulticast RPC
  • 嘎嘎降AI双引擎怎么开?多平台降AI率9步操作详细教程! - 我要发一区
  • 终极指南:如何用G-Helper快速修复ROG笔记本屏幕色彩失真问题
  • REFramework终极指南:5步解锁RE引擎游戏的完整自由定制体验
  • 3步快速安装ViGEmBus驱动:解决Windows游戏控制器兼容性问题的终极指南
  • 微信小程序中基于java后端实现官方的文本内容安全识别msgSecCheck
  • 对比在 Taotoken 上调用不同模型的单次请求 token 消耗与费用
  • 告别VideoCapture:手把手教你用海康SDK+C++为OpenCV项目接入工业相机
  • 万方AI率60%怎么降?率零3.2元单价宿舍拼单实测94%达标率! - 我要发一区
  • 【Dify多模态开发黄金标准】:20年AI架构师亲授——为什么92%的团队在第3步就失败?
  • 终极网易云音乐美化插件:打造沉浸式播放体验的完整指南
  • 在UOS/麒麟上部署东方通TongWeb 7.0.4.2,我踩过的那些坑和避坑指南
  • PyQt5避坑指南:从QWidget到QMainWindow迁移、内存泄漏排查到多线程通信
  • 雀魂牌谱屋:三步搭建你的麻将数据分析平台
  • WarcraftHelper终极指南:魔兽争霸III六大兼容性问题一站式解决方案
  • 告别Gradle Daemon警告:深入理解Android Studio、JDK与JAVA_HOME的三角关系
  • 基于扩散模型的文本生成高保真图像研究,从噪声到杰作:基于扩散模型的文本生成高保真图像完全指南
  • 香橙派Zero2保姆级教程:手把手教你为Ender-3 V2编译Klipper固件(含避坑指南)
  • Dify金融审计落地全攻略:从零搭建符合银保监要求的AI审计系统