Прежде всего, нет, я не спрашиваю, пожалуйста, скажите мне, как Google построен в двух предложениях. То, что я спрашиваю, немного отличается. У меня есть база данных, заполненная текстовыми данными, которые вводят пользователи. Мы также даем им функциональность для поиска этих данных позже. Проблема в том, что мы сейчас выполняем простой полнотекстовый поиск и возвращаем результаты в любом порядке. Я хотел бы вернуть результаты, основываясь на весе, весе того, как часто пользователь что-то печатает. Например, пользователь может ввести следующее:
"Foo"
«Бо»
«Боб»
«Боб»
«Боб»
«Бо»
"Foo2"
На основании приведенных выше данных, поиск по 'b' должен вернуть bo и bob, но bob должен быть указан первым. Это наиболее актуально в зависимости от использования.
Любопытно, какой алгоритм я должен исследовать, чтобы построить это эффективным способом? Какие-нибудь книги, основанные на общих веб-алгоритмах (я знаю, что это не только веб-специфические), которые объяснят это?