По поводу создания поисковика. Направил меня товарищ, который собирался обеспечивать все железом и программерами – к программеру своему. На Сях.
Я программеру пишу что-то вроде теста:
Ну, пример. Надо организовать быстрый поиск (по точному соответствию слов) многословного запроса, с ограничением по расстоянию (в словах) между любой парой слов в 10 слов между ними. База – 100 млн. документов, средний размер документа (плейнтекст) – 20 Кб или 4000 слов. Результат – список документов.
Твои действия?
Ну и я думал что мне помощь какая-то будет. Я имею в виду, что человек знает, что такое обратный индекс… Но получаю в ответ:
1. Берем i-ый файл, открываем
2. Берем первое слово, ищем в файле -нашлось? да – ищем второе слово, проверяем дистанцию, совпало, тут добавляем в результаты запроса.
переходим к 1. если не совпало, то ищем третье слово, и проверяем дистанцию и так до 10.
если не нашлось дистанций меньше 10, то повторяем то же самое, однако мы как будто смещаемся, так как у нас, допустим слова “булка” может в тексте быть несколько штук.
3. если найдется, то добавляем в результаты(список).
-мдя, создание поисковика наталкивается на непреодолимые препятствия… 🙂