平台开发中,欢迎参与测试。你可以在 QQ群:1046115671 中与我们交流,或是直接在社区发帖

    翻译记忆库计划迁移到ES上,并基于ES实现应用市场全文搜索

    • 孙锡源
      楼主

      目前翻译平台的记忆库后端基于Pontoo,当初这么选主要是为了方便,因为Pontoon提供记忆库的完整解决方案。

      现在情况有了变化。

      大上个周我们将应用市场的插件、主题信息显示与翻译平台的翻译结果进行了关联,这带来了一个问题——我们无法基于翻译后的字符进行搜索。

      因为翻译是在内容从数据库取出来并在前端显示这一流程的中间实时进行的,也就是说我们并没有更改数据库原文,也没有对翻译结果持久化,于是我们也就无法基于翻译后的内容对产品进行检索了,用户只能去搜索英文原文才能检索到他想要的产品。

      这个问题最佳的解决方案就是引入ES(ElasticSearch),这是一个专业的搜索引擎。我们可以将在插件、主题介绍被实时翻译后通过一个异步队列将译文同步到ES中进行索引,这样当用户发起搜索请求时就把请求转发给ES,并返回由ES输出的搜索结果。

      引入ES后,进一步的增加了我们服务器环境的复杂度,为了防止服务过度耦合,翻译记忆库的实现也会同步迁移到ES中,这样在去掉Pontoon的同时还可以去掉其所依赖的PosterSQL、Django。

      目前机器翻译填充的实现也要依赖记忆库,所以记忆库迁移到ES的工作会立即启动并优先进行。

  • 孙锡源
    楼主

    更新一下,检索到WordPress有一个现成的连接ES的插件:ElasticPress

    于是打算把前面说的产品信息索引方案改一下。原本是计划在产品展现并翻译时将翻译后的信息通过异步队列写入ES,而有了这个插件之后,我们就可以在插件索引数据时直接通过钩子更改索引内容为翻译后的译文了,一下节省好多力气。

  • 孙锡源
    楼主

    目前应用市场已经支持按翻译后的中文搜索应用了,很开心。

    后面翻译平台的新版机器翻译填充对接完成后就有能力汉化整个wp.org仓库的所有插件的介绍信息了。

    然后在此基础上提供中文长词的语义化搜索,类似百度搜索那样

  • 正在查看 2 条回复
    • 哎呀,回复话题必需登录。

    加入 LitePress 论坛 ,参与知识分享与交流
    登录 注册 进行评论
    立即加入