|
|
@ -31,7 +31,7 @@ class StatusesIndex < Chewy::Index
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
define_type ::Status.unscoped.without_reblogs do
|
|
|
|
define_type ::Status.unscoped.without_reblogs.includes(:media_attachments) do
|
|
|
|
crutch :mentions do |collection|
|
|
|
|
crutch :mentions do |collection|
|
|
|
|
data = ::Mention.where(status_id: collection.map(&:id)).pluck(:status_id, :account_id)
|
|
|
|
data = ::Mention.where(status_id: collection.map(&:id)).pluck(:status_id, :account_id)
|
|
|
|
data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) }
|
|
|
|
data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) }
|
|
|
@ -50,7 +50,7 @@ class StatusesIndex < Chewy::Index
|
|
|
|
root date_detection: false do
|
|
|
|
root date_detection: false do
|
|
|
|
field :account_id, type: 'long'
|
|
|
|
field :account_id, type: 'long'
|
|
|
|
|
|
|
|
|
|
|
|
field :text, type: 'text', value: ->(status) { [status.spoiler_text, Formatter.instance.plaintext(status)].join("\n\n") } do
|
|
|
|
field :text, type: 'text', value: ->(status) { [status.spoiler_text, Formatter.instance.plaintext(status)].concat(status.media_attachments.map(&:description)).join("\n\n") } do
|
|
|
|
field :stemmed, type: 'text', analyzer: 'content'
|
|
|
|
field :stemmed, type: 'text', analyzer: 'content'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|