Ну начнём с того, что в таком случае у нас не будет и самих текстов подсказок, потому что мы не знаем даже, что искали пользователи. :)
Но с другой стороны, если разработчик поисковой системы может «налить» пользователей на свой поисковик, то статистика неминуемо появится сама собой, и покупка трафика пользователей будет равносильна «покупке» тех самых весов популярности f и всего остального о поведении пользователей. Так что через какой-то непродолжительный промежуток времени у вас уже что-то да будет.
Вопрос хороший.
На самом деле к задаче можно действительно подходить способом отслеживания позиции курсора и выяснять редактируемое слово, что можно использовать, скажем, при ранжировании.
Но такой способ обладает и рядом недостатков:
нам придётся увеличить объём индекса: придётся хранить trie со списками для редактируемых слов, да плюс отдельный индекс для законченных слов;
этот способ подразумевает обязательное наличие информации о набираемом слове, что в общем случае не очень гибко — не все сервисы, которые хотят использовать подсказки, способны на такое;
в общем случае такой способ даёт меньшую полноту подсказок, чем когда мы представляет каждое слово как обобщённый префикс.
Поэтому рассматривать каждое слово как префикс не обязательно, но в целом экономичнее и выгоднее.
Но с другой стороны, если разработчик поисковой системы может «налить» пользователей на свой поисковик, то статистика неминуемо появится сама собой, и покупка трафика пользователей будет равносильна «покупке» тех самых весов популярности f и всего остального о поведении пользователей. Так что через какой-то непродолжительный промежуток времени у вас уже что-то да будет.
На самом деле к задаче можно действительно подходить способом отслеживания позиции курсора и выяснять редактируемое слово, что можно использовать, скажем, при ранжировании.
Но такой способ обладает и рядом недостатков:
Поэтому рассматривать каждое слово как префикс не обязательно, но в целом экономичнее и выгоднее.