我正在构建我的第一个 Rails 应用程序,并让它与 Thinking Sphinx 配合使用。我了解其中的大部分内容,但如果有人可以帮助我澄清一些概念性问题,我会很高兴
在 sphinx 查询后显示搜索结果时,我应该使用从 sphinx 查询返回的 sphinx_attributes 吗?或者我的视图应该使用普通的 rails 对象,例如@property.title、@property.amenities.title 等?如果我使用普通的 rails 对象,这是否意味着它会进行额外的查询?
在论坛中,我想显示“未读帖子”。显然,对于每个用户/主题组合,这是真/假,所以我想我应该在主题的狮身人面像索引中缓存“读者”ID。这样我可以快速查询给定 user_id 的所有未读帖子。我已经完成了这项工作,但后来意识到它毫无意义,因为狮身人面像索引之间存在时间延迟。因此,如果用户点击未读帖子,它仍然会显示为未读,直到重新索引 sphinx 数据库
我仍在开发中,所以我正在手动索引/重建,但在生产中,重新索引之间的标准时间是多少?
我有一个带有多个文本字段的模型 - 我应该将这些都连接到 sphinx 索引中的一列中以进行关键字搜索吗?当然,这比索引所有单独的字段要快。
有点离题,但只是想知道 - 当您访问嵌套模型时,例如 @property.agents.name,这会影响性能吗?或者当从数据库中提取属性时,rails 是否会自动获取所有关联的条目?