# 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)
1条答案
按热度按时间snvhrwxg1#
https://github.com/pat/thinking-sphinx/blob/13d0db24ce14a45bc6757b79760bb341d0185360/lib/thinking_sphinx/callbacks/appender.rb#L26
add_core_回调仅在以下情况下调用:destroy
结果是我需要使用sql和delta或真实的_time