В моем приложении есть аутентифицированные пользователи, которые имеют доступ к общей базе данных до 500 000 элементов. Каждый из пользователей имеет свой собственный общедоступный веб-сайт и нуждается в способности расставлять приоритеты для элементов, отображаемых (думаю, upvote) на своем собственном сайте.
из 500 000 предметов, в которых они могут иметь только до 200 предметов с приоритетами, порядок остальных предметов имеет меньшее значение.
Каждый из пользователей будет определять приоритеты элементов по-разному.
Первоначально я задавал подобный вопрос mysql здесь Результаты Mysql, отсортированные по списку, который уникален для каждого пользователя , и получили хороший ответ, но я считаю, что лучшим вариантом может быть выбор решения без индекса SQL.
Можно ли это сделать в Lucene? Есть ли другая технология поиска, которая была бы лучше для этого.
пс. Google реализует аналогичную настройку типа в своих результатах поиска, где вы можете расставлять приоритеты и исключать свои собственные результаты поиска, если вы вошли в систему.
Обновление: повторно пометил sphinx, так как я читал документацию, и я верю, что он может делать то, что я ищу, с "значениями атрибутов для каждого документа", хранящимися в памяти - интересно услышать любые отзывы по этому поводу от гуру сфинкса