Plots2: API de pesquisa: endpoint / srch / nearbyPeople precisa classificar pelos usuários mais recentes

Criado em 22 out. 2018  ·  3Comentários  ·  Fonte: publiclab/plots2

Conforme discutido aqui ( Pergunta: Que mais camadas de dados podemos mostrar no mapa? ) Implementei (# 3719) um novo método para pesquisar pessoas próximas com relação a determinada latitude, longitude e tag (opcional).

O código está aqui: https://github.com/publiclab/plots2/blob/master/app/services/search_service.rb#L118 -L146

  def tagNearbyPeople(query, tag, limit = 10)
    raise("Must separate coordinates with ,") unless query.include? ","

    lat, lon =  query.split(',')

    user_locations = User.where('rusers.status <> 0')\
                         .joins(:user_tags)\
                         .where('value LIKE ?', 'lat:' + lat[0..lat.length - 2] + '%')\
                         .distinct
    if tag.present?
      user_locations = User.joins(:user_tags)\
                       .where('user_tags.value LIKE ?', tag)\
                       .where(id: user_locations.select("rusers.id"))
    end

    ids = user_locations.collect(&:id).uniq || []

    items = User.where('rusers.status <> 0').joins(:user_tags)
                .where('rusers.id IN (?) AND value LIKE ?', ids, 'lon:' + lon[0..lon.length - 2] + '%')

    # selects the items whose node_tags don't have the location:blurred tag
    items.select do |item|
      item.user_tags.none? do |user_tag|
        user_tag.name == "location:blurred"
      end
    end

    items = items.limit(limit)
  end

Agora, como próximo passo, precisamos modificar o método para classificar os resultados pelo registro mais recente, pelo menos.

O método search_profiles() classifica os resultados pelos usuários mais recentes, acho que a mesma estratégia pode ser usada aqui.

Ruby help wanted search

Todos 3 comentários

Incrível !!!

@milaaraujo posso trabalhar nisso?

Claro, basta atribuir o problema a você mesmo!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

divyabaid16 picture divyabaid16  ·  3Comentários

first-timers[bot] picture first-timers[bot]  ·  3Comentários

keshavsethi picture keshavsethi  ·  3Comentários

RuthNjeri picture RuthNjeri  ·  3Comentários

bronwen9 picture bronwen9  ·  3Comentários