- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день.
Думал тут как ещё улучшить свой поиск по сайту и вспомнил, что у меня даже позиции слов не учитываются.
Фактически на сайте простой морфопоиск, который ищет с использованием нормальных форм. В табличке с индексом соответственно содержится id странички, id слова и его вес.
Как обычно реализуются индексы для того чтобы можно было учитывать расстояние между словами?
обычно кладутся еще все номера позиции, где данное слово встречается
Добрый день.
Думал тут как ещё улучшить свой поиск по сайту и вспомнил, что у меня даже позиции слов не учитываются.
Фактически на сайте простой морфопоиск, который ищет с использованием нормальных форм. В табличке с индексом соответственно содержится id странички, id слова и его вес.
Как обычно реализуются индексы для того чтобы можно было учитывать расстояние между словами?
Как релевантность в таком случае считать? чтобы попроще и не замедлить работу ( для рассчёта разницы позиций придётся джойнить таблицу индекса ещё раз )
Как релевантность в таком случае считать? чтобы попроще и не замедлить работу ( для рассчёта разницы позиций придётся джойнить таблицу индекса ещё раз )
.
Вариант 1. Берем достаточно длинную битовую матрицу, бит 128. разбиваем файл на 128 участков. b1 e1 b2 e2 ... b128 e128 одинаковой длины (за исключением последних, которые могут быть короче)
выставляем бит k в единицу если слово попадает в диапазон (b_k - d/2 , b_k + d/2). Потом пересекаем и считаем битики. Естественно получается весьма приближенно.
Вариант 2. Кладем в запись маленький блобик, куда в упакованном виде складываем позиции слова в документе. вместо блобиков можно varchar(255) .
Как обычно реализуются индексы для того чтобы можно было учитывать расстояние между словами?
Документ бьется на предложения. По умолчанию все слова запроса ищутся в одном предложении. Первая порция - все слова рядом. Дальше - с расстоянием. Вот это почитайте: http://romip.narod.ru/romip2005/09_mailru.pdf
Документ бьется на предложения. По умолчанию все слова запроса ищутся в одном предложении. Первая порция - все слова рядом. Дальше - с расстоянием.
А как учесть попадание в title страницы и внутренние ссылки по сайту на страницу?
А как учесть попадание в title страницы и внутренние ссылки по сайту на страницу?
Title можно, например, как в этой работе: http://romip.narod.ru/romip2004/05_uis_russia.pdf
Текст ссылок - сначала посчитать их ранг, потом умножать ранг на релевантность текста ссылки. Итоговую сумму поместить в общую формулу расчета релевантности. Поскольку здесь речь идет о поиске по отдельно взятому сайту, то можно ранги не считать, а выставить принудительно. По шкале 1..10 для 1-й страницы - 10, для страниц 2-го уровня - 8 и т.п. Т.е. ввести собственное ранжирование документов.