Add my reacted statuses search
This commit is contained in:
parent
7b88422644
commit
5fb6bce744
9 changed files with 124 additions and 16 deletions
|
@ -157,6 +157,6 @@ class AccountsIndex < Chewy::Index
|
|||
field(:domain, type: 'keyword', value: ->(account) { account.domain || '' })
|
||||
field(:display_name, type: 'text', analyzer: 'verbatim') { field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'verbatim' }
|
||||
field(:username, type: 'text', analyzer: 'verbatim', value: ->(account) { [account.username, account.domain].compact.join('@') }) { field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'verbatim' }
|
||||
field(:text, type: 'text', analyzer: 'sudachi_analyzer', value: ->(account) { account.searchable_text }) { field :stemmed, type: 'text', analyzer: 'natural' }
|
||||
field(:text, type: 'text', analyzer: 'sudachi_analyzer', value: ->(account) { account.searchable_text })
|
||||
end
|
||||
end
|
||||
|
|
|
@ -149,7 +149,7 @@ class PublicStatusesIndex < Chewy::Index
|
|||
root date_detection: false do
|
||||
field(:id, type: 'long')
|
||||
field(:account_id, type: 'long')
|
||||
field(:text, type: 'text', analyzer: 'sudachi_analyzer', value: ->(status) { status.searchable_text }) { field(:stemmed, type: 'text', analyzer: 'sudachi_analyzer') }
|
||||
field(:text, type: 'text', analyzer: 'sudachi_analyzer', value: ->(status) { status.searchable_text })
|
||||
field(:tags, type: 'text', analyzer: 'hashtag', value: ->(status) { status.tags.map(&:display_name) })
|
||||
field(:language, type: 'keyword')
|
||||
field(:domain, type: 'keyword', value: ->(status) { status.account.domain || '' })
|
||||
|
|
|
@ -160,17 +160,26 @@ class StatusesIndex < Chewy::Index
|
|||
if status.searchability == 'direct'
|
||||
status.searchable_by.empty?
|
||||
else
|
||||
status.searchability == 'limited' ? status.account.domain.present? : false
|
||||
status.searchability == 'limited' ? !status.local? : false
|
||||
end
|
||||
}
|
||||
|
||||
root date_detection: false do
|
||||
field(:id, type: 'long')
|
||||
field(:account_id, type: 'long')
|
||||
field(:text, type: 'text', analyzer: 'sudachi_analyzer', value: ->(status) { status.searchable_text }) { field(:stemmed, type: 'text', analyzer: 'sudachi_analyzer') }
|
||||
field(:text, type: 'text', analyzer: 'sudachi_analyzer', value: ->(status) { status.searchable_text })
|
||||
field(:tags, type: 'text', analyzer: 'hashtag', value: ->(status) { status.tags.map(&:display_name) })
|
||||
field(:searchable_by, type: 'long', value: ->(status) { status.searchable_by })
|
||||
field(:mentioned_by, type: 'long', value: ->(status) { status.mentioned_by })
|
||||
field(:favourited_by, type: 'long', value: ->(status) { status.favourited_by })
|
||||
field(:reblogged_by, type: 'long', value: ->(status) { status.reblogged_by })
|
||||
field(:bookmarked_by, type: 'long', value: ->(status) { status.bookmarked_by })
|
||||
field(:bookmark_categoried_by, type: 'long', value: ->(status) { status.bookmark_categoried_by })
|
||||
field(:emoji_reacted_by, type: 'long', value: ->(status) { status.emoji_reacted_by })
|
||||
field(:referenced_by, type: 'long', value: ->(status) { status.referenced_by })
|
||||
field(:voted_by, type: 'long', value: ->(status) { status.voted_by })
|
||||
field(:searchability, type: 'keyword', value: ->(status) { status.compute_searchability })
|
||||
field(:visibility, type: 'keyword', value: ->(status) { status.searchable_visibility })
|
||||
field(:language, type: 'keyword')
|
||||
field(:domain, type: 'keyword', value: ->(status) { status.account.domain || '' })
|
||||
field(:properties, type: 'keyword', value: ->(status) { status.searchable_properties })
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue