mysql - 我是否需要一个针对具有 20 多个属性的模型的搜索引擎

标签 mysql ruby-on-rails performance postgresql search-engine

我计划开发一个应用程序,该应用程序将具有一个包含许多属性的模型。这些属性将是应用程序最重要的部分之一,因此用户在大多数时间都会触发搜索查询,以便找到他们正在寻找的结果。

我的问题是,是否可以通过 mysql 或 postgres 进行转发,或者我应该从头开始使用 solr、elasticsearch 之类的东西。

我希望此应用程序在执行这些搜索时不要消耗大量内存。这是我想要的第一件事,因为我将从具有 2 个内核和 4GB 内存的基本服务器设置开始。

最佳答案

它们(rdbms和fulltext se)都是有效的技术......主要取决于

  • 您的访问模式
  • 您希望在搜索服务中提供的功能

例如,如果您想做全文搜索,或者您想要自动完成、分面、词干提取等功能,Solr 或 ES 就是您的 friend 。另一方面,如果您想实时获取数据(并且您不想要上述内容),我会使用 RDBMS

一般来说:您描述了一些“非”功能需求,但该决定也涉及功能需求。肯定的

关于mysql - 我是否需要一个针对具有 20 多个属性的模型的搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29460904/

相关文章:

mysql - 事件记录,其中 {}

asp.net - WindowsTokenRoleProvider的性能不佳

c# - wpf性能问题: Opacity on Brushes vs Opacity on Elements

php - 当左连接列不存在时如何选择总和

php - 使用 OOP 管理用户

mysql - 迁移数据库到当前版本的MySQL,一个表中有一个保留字

JavaScript 无法在 Ruby on Rails 应用程序中运行

php - 基于每个用户记录所有 MySQL 事务

ruby-on-rails - 使用 Rails 从关系数据库切换到非关系数据库是否容易?

javascript - 在 JavaScript 和 jQuery 中使用委托(delegate)事件处理程序是否存在性能缺陷?