我正在使用 Rails 3 和 Sunspot solr 3.5。我的应用程序使用 Solr 来索引用户生成的内容并使其可供其他用户搜索。目标是让用户从用户上传数据的那一刻起就可以尽快搜索到这些数据。我不知道这是否符合实时搜索的条件。
我的应用程序有两个模型
- 帖子
- 邮政项目
我通过包含来自帖子项目的数据来索引帖子,以便当用户根据 post_item 记录中提供的特定描述进行搜索时,相应的帖子对象在搜索中可用。
用户经常更新 post_item,所以每次添加新的 post_item 时,我都需要重新索引相应的 post 对象,以便新的 post_item 在搜索期间可用。
所以此刻每当我收到一个新的 post_item 对象时,我都会运行
post_item.post.solr_index! #
根据本文档,它会立即更新索引并提交。这可行,但这是在这种情况下处理索引的正确方法吗?我在这里读到,在搜索时调用索引可能会破坏 solr。频繁的手动索引调用也不是要走的路。
关于正确方法的任何建议。除了切换到 ElasticSearch 之外,还有其他选择吗