ElasticSearch与SQL全文搜索

Ada*_*men 19 .net c# sql-server full-text-search elasticsearch

我想在我的项目中使用全文搜索...任何人都可以解释一下,ElasticSearch和SQL全文搜索之间有什么区别

要么

为什么SQL全文搜索比弹性更好(更差)?

文件,演示文稿,模式......

Mar*_*ell 38

定义"更好"... sql全文搜索是非常简单的工作(索引和查询) - 但它有惩罚:

  • 很少(几乎没有)控制事物的索引方式(索引键是什么;词法分析器/词干分析器等是什么;等等)
  • 在sql server上运行 - 这通常是你可扩展性最低的基础架构

弹性搜索需要更多工作; 您需要设置和维护一个专用的节点集群,然后提供执行实际索引操作的代码,这些代码操作也可能涉及从更改日志(处理新的/编辑的数据)起作用的预定作业,将片段构建为索引; 同样,您需要花费更多时间来构建查询.但是您可以对索引和查询以及可伸缩性(群集可以是您需要的任何大小)进行大量控制.如果它有帮助,Stack Overflow在sql全文搜索上长大,然后在限制(功能和性能)被证明过高时进入弹性搜索.


小智 7

答案取决于您想要实现的目标以及实现该目标所需的资源。SQL Server 全文搜索管理较低,但功能有限。弹性搜索则处于另一端。

SQL Server 全文搜索:

  • 如果您的数据增长不显着并且模式不随时间变化,则可以证明是高效的
  • 需要更少的维护工作和更少的学习曲线/对新能力的需求

弹性搜索:

  • 如果您的主数据库经常进行增量更新(logstash 和其他替代方案),则需要数据摄取
  • 水平缩放效果更好
  • 能够使用高级功能来提高大型数据集的性能(例如路由)