FIX: Reindex post for search when post is moved to a different topic.

* This is causing certain posts to appear in searches incorrectly as `PostSearchData#raw_data` contains the outdated title, category name and tag names.
This commit is contained in:
Guo Xiang Tan
2019-03-19 17:16:57 +08:00
parent 14c1af0a9e
commit d808f36fc4
2 changed files with 29 additions and 1 deletions

View File

@@ -134,7 +134,13 @@ class SearchIndexer
category_name = topic.category&.name if topic
tag_names = topic.tags.pluck(:name).join(' ') if topic
if Post === obj && (obj.saved_change_to_cooked? || force)
if Post === obj &&
(
obj.saved_change_to_cooked? ||
obj.saved_change_to_topic_id? ||
force
)
if topic
SearchIndexer.update_posts_index(obj.id, topic.title, category_name, tag_names, obj.cooked)
SearchIndexer.update_topics_index(topic.id, topic.title, obj.cooked) if obj.is_first_post?