我们目前在选择用于文本搜索的软件方面存在分歧;他说我可以通过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值得开发时间,我将从头开始实现相同的功能,而不依赖于服务器上的软件,我认为粗体问题的答案将会有所启发那.
解决方法
这里的步骤如下:https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html
>添加eleasticsearch公共签名密钥
>添加elasticsearch仓库
>更新apt
>使用apt安装或更新elasticsearch,就像在Ubuntu上一样.
一旦弹性搜索可以像这样使用,那么当通过类似法线的应用安全更新时,应该处理对elasticsearch的安全更新.我没有关于elasticsearch的个人经验,但是我不确定一旦apt能够更新后会出现哪些维护问题.
我觉得有点奇怪的是,除了信息之外,elasticsearch文档还没有包含bash脚本.