ruby-on-rails ThinkingSphinx & callback在创建记录后不更新索引

rvpgvaaj  于 2023-04-13  发布在  Ruby
关注(0)|答案(1)|浏览(104)
# index
ThinkingSphinx::Index.define :review, with: :active_record do
  indexes title, sortable: true
  indexes body
  indexes author.username, as: :author, sortable: true

  has author_id, created_at, updated_at
end

# model
class Review < ApplicationRecord
  ...

  ThinkingSphinx::Callbacks.append(
    self, :behaviours => [:sql]
  )

end

新记录不会出现在搜索中,索引不会自行更新。
网址:https://freelancing-gods.com/thinking-sphinx/v5/indexing.html#callbacks
当您删除一条记录时,它将从搜索中消失,但我不确定这是否与更新索引有关,因为索引文件不会更改。
如果我通过rake运行更新,新条目会出现在搜索中。
在另一个项目中,索引是通过whenever中的任务更新的。
或者基本的SQL索引不知道如何在添加新记录时更新索引?
如果是这样的话,那么对于一个小项目来说,选择带有deltas的sql和真实的_time哪个更好呢?

Sphinx 2.2.11-id64-release (95ae9a6)
rails (6.1.7.2) & PostgreSQL
thinking-sphinx (5.5.1)
snvhrwxg

snvhrwxg1#

https://github.com/pat/thinking-sphinx/blob/13d0db24ce14a45bc6757b79760bb341d0185360/lib/thinking_sphinx/callbacks/appender.rb#L26
add_core_回调仅在以下情况下调用:destroy
结果是我需要使用sql和delta或真实的_time

相关问题