Какой был бы лучший подход для создания приложения, где документы показываются только пользователям, например, Tinder.Подход к подаче документов только один раз каждому пользователю
Каждое лицо (то есть документ) подается каждому пользователю только один раз. После того, как пользователь выполнит действие с другим человеком (в документе), этот документ снова не будет показан одному и тому же пользователю.
Что было бы лучшим подходом к построению такой системы?
- Сохранять идентификаторы документов, которые уже видели, и отправить их, чтобы отфильтровать их в поисковой системе. Этот подход кажется плохим, потому что вы в конечном итоге отправляете потенциально тысячи идентификаторов в запрос фильтра к поисковой системе.
- Храните идентификаторы пользователей, которые предприняли действие над документом, в документе, хранящемся в документе и в поиске запрос отправляет идентификационные файлы, запрашивающие идентификатор пользователя, для фильтрации из указанного поля. Такой подход может привести к увеличению размера документа, поскольку потенциально тысячи идентификаторов хранятся в документе.
- Создайте индекс для каждого пользователя с необходимыми документами и удалите документы из индекса, когда пользователь предпринимает действия над ними. Недостаток здесь - это трудно поддерживать и обновлять потенциально тысячи индексов.
- Храните просмотренные документы в объекте пользователя в базе данных и запрашивайте документы. Как только вы получите результаты, попросите диспетчера пропустить или удалить документы из списка, который пользователь уже видел в соответствии с тем, что хранит пользовательский объект. Недостатком здесь является то, что вы можете в итоге получить 20 полезных результатов, и все 20 были замечены пользователем.
Должен быть лучший способ создания такого типа приложений, которое масштабируется лучше.
Любые идеи?
http://stackoverflow.com/questions/34522248/how-to-avoid-calling-server-for-duplicate-data-using-using-google-maps-api Проверьте это также –