37 lines
649 B
Ruby
37 lines
649 B
Ruby
class BookmarkableIndexer < Indexer
|
|
|
|
def self.index_name
|
|
"#{ArchiveConfig.ELASTICSEARCH_PREFIX}_#{Rails.env}_bookmarks"
|
|
end
|
|
|
|
def self.document_type
|
|
'bookmark'
|
|
end
|
|
|
|
def self.mapping
|
|
BookmarkIndexer.mapping
|
|
end
|
|
|
|
# When we fail, we don't want to just keep adding the -klass suffix.
|
|
def self.find_elasticsearch_ids(ids)
|
|
ids.map(&:to_i)
|
|
end
|
|
|
|
def routing_info(id)
|
|
{
|
|
"_index" => index_name,
|
|
"_id" => document_id(id)
|
|
}
|
|
end
|
|
|
|
def document(object)
|
|
object.bookmarkable_json.merge(
|
|
sort_id: document_id(object.id)
|
|
)
|
|
end
|
|
|
|
def document_id(id)
|
|
"#{id}-#{klass.underscore}"
|
|
end
|
|
|
|
end
|