- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Очень благодарен вам за ответ, на самом деле мне просто необходимо понять насколько мои идеи адекватны тому, что существует на сегодяншний день.
Что существует понять несложно: объем базы - миллиарды документов с преспективой роста, время сложного поиска - в районе секунды, не больше, дополнительные бантики - у каждого свои, но есть и общие.
Т.е. в Вашем случае следует прежде всего приступить к постановке задачи - что должно получиться на выходе, какими свойствами обладать, что подается на вход и т.д. Потом поисследовать на практике аналоги, скорректировать постановку задачи...
Цель - исключительно образовательная. Ничего коммерческого. Поиск подразумевается делать по неструктурировнным документам. Насчет супер-пуппер - не знаю, это уже как оплучится ;).
Самообразование, или пытаться устроиться в реально работающую над подобными проблемами контору (маловероятно, но возможно, если покажете подготовленную базу и пр.) Понимаете, над этим работают коммерческие команды, и давно работают. Вероятность того, что ваши мысли самые прогрессивные есть, не стоит и такой шанс сбрасывать со счетов.
Да но как тогда быть с шумовыми стоп-словами? Ведь они в индексе отсутствуют и соответсвенно запрос "Петя и Вася" не может быть выполнен в силу отсутствия "и" в индексе. Выход - индексировать все слова, включая стоп-слова?.
Именно так :) Однако если запрос без "кавычек" или еще какой-то другой - просто проигнорировать. Я вам больше скажу - запрос: user@domain должен восприниматься как одно слово, зачем мне документы, в которых есть user и domain, но в разных местах?
Я задумывался над этим и вряд ли возможным будет хранение всего разнообразия лексем в ОЗУ, т.к. тут будут и числа и разнообразные сокращения, аббревиатуры и проч, как вы правильно написали..
Кто сказал, что они войдут в память. Даже если допустить, что все документы состоят из "словарных" слов (пардон за каламбур), то как быть с другими языками (китайский, например 🚬 ), а с их морфологией? Просто присвоение уникальных ID для слов или их основ может сократить расход пространства хранилища (диска, например) для общего индекса. Предположим, что средняя длина слова 8 символов, предположим, что всего слов вместе с иероглифами будет не более 2 млрд. Тогда каждое слово можно представить 32 разрядами (4 символа). Подход упрощенный, но мысль, думаю, понятна.
Полное перестроение - это совсем "больно", т.к. лучше уже пользоваться прямым индексом. Т.е хранить оба: прямой и обратный. Прямой позволит определить термины, по которым надо произвести зачистку пост-листа, чтобы удалить документ подлежащий переиндексации.
Но вряд ли это самый лучший способ. Возможно вы сможете посоветовать, где прочитать о лучших? Информационный поиск имеет долгую истории развития и прежде всего развития в плане научных изысканий, а посему существует много публикаций на тему. Я ведь спрашиваю о достаточно базовых вещях, которые вряд ли уж настолько ноу-хау ;).
Ну краулеры могут помечать, что был отсканирован документ с ID таким-то. На этапе слияния индекса с новой порцией в каждой итерации следует вычищать поднятые данные на предмет ID и сопутствующей ему информации. Это тоже упрощенно, не гарантирует, что вычистите все
Желаю удачи