- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пишу поисковик. Есть поле в БД, кот. содержит очищенный от тегов текст на странице. При тестировании проиндексировал 80 тыс. страниц. При таком количестве записей суммарнвй размер поля для поиска 130 Мбайт. Проблема - поиск по такому(минимальному обьему) займет огромное кол-во времени.
Вопрос: какой алгоритм хранение информации и поиск по ней. и где можно найти описание подобных алгоритмов
[This message has been edited by Mambur (edited 24-04-2002).]
[This message has been edited by Mambur (edited 24-04-2002).]
Олег, встань ровно и слушай сюда - это таки не очень правильный раздел, чтобы писать в него своих вопросов. И выучи наконец русский язык - слава богу, у нас его уже можно всем.
Топик переезжает в раздел о сервисах.
Единственное решение, кот. я придумал это создать таблицу уникальных слов, разбивать выбраный на страничке текст по отдельным словам и записывать в таблицу связей: ключ_по_слову - ключ_по_тексту и дальнейший поиск по словам.
Если есь другие интерестные решения, я бы их с удовольствием выслушал!
Как мне кажется, поисковики примерно так и работают.
Только создаётся не таблица уникальных слов, а словоформ.
Дальше, в индексе, по которому производится поиск сам документ не хранится, а хранится "посмертная маска" с него. Т.е. выбираются все значимые словоформы из документа, этим словоформам придаются некоторые веса и запоминаются позиции словоформ в документе, а также добавляются текс ссылок на документ.
Дальше алгоритм примерно такой: производится "грубый" поиск по всем документам, в которых присутствуют искомые словоформы, а уже затем точный поиск ведётся по какому-то проценту "лучших" документов. С учётом того, что в том же Яндексе с первой страницы досутпны только первые 80 документов (при стандартных настройках), то точный поиск ведётся не более чем по 1000 документов (думаю, что гораздо меньше чем по 1000). Кроме того, поскольку физически все документы рассредоточены по разным серверам, то грубый поиск осуществляют сразу несколько машин. Далее, результаты поисков по наиболее часто встречающимся запросам можно кэшировать, а для самых дотошных посетителей (тех, которые что-то захотят отыскать за пределами первых 8-ми страниц) производить уточнение по мере продвижения их в глубь результатов.
Возможно в реальности всё обстоит не совсем так (или совсем не так ), но такой подход избавляет от поиска по текстовым массивам безразмерных объёмов, а поиск по индексу производится существенно быстрее.
Да, следующий шаг по оптимизации поиска - это определение тематических групп сайта и запроса. Причём не обязательно пытаться точно определить группу, главное исключить не относящиеся к делу, что существенно сократит объём документов, по которым нужно производить поиск.
Совет - выбрось стоп-слова. Наверняка индекс заметно похудеет.
AiK - спасибо. Совеы хорошие. А как, собственно определять словоформы. Нужно в достаточной мере знание языка, или определенных алгоритмов образования слов. А если поисковик индексирует не рускоязычные сайты!?
И по какому принципу определять так называемые "некоторые веса" словоформ?
Gray, а что Вы понимаете под определением "стоп-слова".
Стоп-слова - это предлоги, наречия, к примеру. Не имеющие смысла при поиске. Убирай все пробелы - в базе им делать нечего, все равно в первом приближении ты будешь искать по вхождению слов.
Ну без знания языка точно не обойтись
Возможно это будет откровением, но в русскоязычных сайтах английские слова тоже попадаются
В простейшем случае алгоритм такой - из слова выкидываются приставка, суффикс и окончание. Их нужно "знать". Самые большие проблемы с определением суффикса.
Этого не знает никто, кроме разработчиков.
Общий принцип такой: за нахождение в определённых тэгах вес увеличивают, за увеличение позиции от начала документа - уменьшают. За черезмерные повторы штрафуют.
Для начала, мне кажется, можно познакомиться с несколькими топиками в этом форуме, где затрагивалась данная тема.
Например:
<A HREF="" TARGET=_blank>
Список, понятно, неполный.
[This message has been edited by AlexA (edited 26-04-2002).]
Алгоритмы еще можно глянуть здесь:
А вообще кто-нибудь сталкивался с прогами лексоанализа.
Должны быть шаровые под Unix.
[This message has been edited by Mambur (edited 26-04-2002).]