我和我的同事正在讨论使用(或不使用)全文搜索解决方案,即在我们的网络应用程序中使用
Elasticsearch.我是Web应用程序的开发人员,他负责管理生产服务器,这是一个运行Ubuntu 14.04的英特尔NUC,专门为我大学的一个小部门运行Rails应用程序(带有Postgresql).
我们目前在选择用于文本搜索的软件方面存在分歧;他说我可以通过PostgreSQL的内置文本搜索功能完成任务.但是,作为软件核心部分的Elasticsearch的附加功能将显着降低Web应用程序中搜索操作的复杂性(与Postgresql的文本搜索功能相比),以及开发此类功能所需的代码.
我的想法是在我们的生产服务器上安装Elasticsearch并不是什么大不了的事.他认为安装,配置,管理,升级和监控的开销远远超过我必须编写的代码,直接在Postgresql中具有相同的功能.
我们陷入了僵局.使用Elasticsearch over Postgresql的文本搜索可以节省相当多的开发时间,但需要在服务器上安装一个软件.我应该注意,Elasticsearch配置将是vanilla.他没有提到安全问题,所以让我问一下:
服务器管理员安装(和维护)软件需要什么工作流程?根据我的猜测:
>编写一个小的bash脚本(~5行)来安装Elasticsearch X.X.X(并且可以重复使用/自动化)
>将Elasticsearch合并到启动服务脚本中(可重用/可自动化)
>定期关注软件更新/安全漏洞(有自动化工具吗?)
>必要时更新安装;在步骤1中更新脚本
编辑:可以通过apt安装/更新/删除Elasticsearch.这显然简化了一些问题.但是存在维护问题,我认为这是我的同事最担心的问题.
我真的不认为这非常复杂;但是,我不是系统管理员,所以我无法确定.我只知道在我自己的Ubuntu机器上安装不到3分钟,并且需要零额外配置才能使用我们现有的Rails应用程序设置.
我想知道如果他没有安装Elasticsearch值得开发时间,我将从头开始实现相同的功能,而不依赖于服务器上的软件,我认为粗体问题的答案将会有所启发那.