app/models/concerns/team_search.rb
module TeamSearch
extend ActiveSupport::Concern
included do
#include Elasticsearch::Model
include Tire::Model::Search
include Tire::Model::Callbacks
mapping team: {
properties: {
id: { type: 'string', index: 'not_analyzed' },
slug: { type: 'string', index: 'not_analyzed' },
name: { type: 'string', boost: 100, analyzer: 'snowball' },
score: { type: 'float', index: 'not_analyzed' },
size: { type: 'integer', index: 'not_analyzed' },
avatar: { type: 'string', index: 'not_analyzed' },
country: { type: 'string', boost: 50, analyzer: 'snowball' },
url: { type: 'string', index: 'not_analyzed' },
follow_path: { type: 'string', index: 'not_analyzed' },
hiring: { type: 'boolean', index: 'not_analyzed' },
total_member_count: { type: 'integer', index: 'not_analyzed' },
completed_sections: { type: 'integer', index: 'not_analyzed' },
members: { type: 'multi_field', fields: {
username: { type: 'string', index: 'not_analyzed' },
profile_url: { type: 'string', index: 'not_analyzed' },
avatar: { type: 'string', index: 'not_analyzed' }
} }
}
}
end
end