Перейти к содержимому

Строительство

Строительство и другие полезные новости

  • Главная
  • О сайте
  • Читаемое
  • Интересное
  • Все статьи
  • Карта сайта
  • Контакты

Задача поиска по сайту

Опубликовано 06.11.2023 От Sergey
Технология

Редкий веб-программист не сталкивался с задачей написания поиска для своего сайта. Независимо от того – делалось ли это для собственной CMS или для первого сайта, сделанного фирме двоюродного дяди топориком на коленке в 10 классе.

Зачастую, задача поиска по сайту решается использованием простого SQL-запроса вида where `content` like ‘%семенович%’, при котором искомая фраза разбивается на слова и каждое ищется средствами SQL среди строк в БД. Несмотря на простоту этого решения, качество результатов такого поиска оставляет желать лучшего. Ответственные разработчики используют индексацию, учитывают релевантность и даже морфологию. Однако ещё ни на одном сайте я не видел такого красивого поиска, как на Яндексе.

Что я сейчас понимаю под красивым поиском: Сортировка результатов по релевантностиУчёт морфологии русского языкаИ самое главное – функцию «возможно вы искали» Можно ли сделать такой поиск на своем сайте, затратив совсем немного времени и не используя громоздкие базы словоформ? Можно.

Сразу должен предупредить – это не описание того, как работает поиск на Яндексе. Это описание того, как сделать поиск, на 80% похожий на поиск в Яндексе:) Другими словами – будут показаны те методы, которые дают максимальную эффект при минимальных трудозатратах.

1. Сортировка по релевантности. «Релевантность — субъективное понятие, выражающее степень соответствия запроса и найденного, уместность результата» (Wikipedia).
Поскольку понятие субъективное, значит и определять его придется нам самим. Сделаем релевантность документа функцией двух параметров – числа слов запроса, которые присутствуют в документе, и количества вхождений всех этих слов в текст.

Например, запрос «компьютерные салоны Сыктывкара».
В тексте «компьютерные» присутствует 5 раз, «салоны» 2 раза, «Сыктывкар» — 0 раз. У нас встретилось 2 слова, и всего 7 их вхождений. На языке математики x=2, y=7.
Определим функцию релевантность(x,y) = 1000x + y.
При таком ранжировании выше окажутся те страницы, в которых встречается больше слов из запроса, а между собой они будут отсортированы по частоте вхождения данных слов.

При правильно построенном индексе сайта, сортировку по релевантности можно легко включать прямо в SQL запрос, использовав order by (технические подробности ниже).

2. Учет морфологии русского языка.Под поиском с морфологией понимают поиск, который не чувствителен к форме слова, то есть ищет не только «соседей», но и «соседи», «сосед», «соседский» и так далее.
Добиться этого можно двумя путями – правильным и «почти правильным».

Правильный путь заключается в наличии огромного (порядка 50 мб) словаря словоформ, грамотно переведенного в формат используемой БД и прикрученный к «движку» сайта. Найти бесплатный словарь можно тут: Ispell dictionary list, правда придется разбираться с его структурой.

«Почти правильный» путь – выделять корень слова на основе общих лингвистических правил языка (отбрасывая стандартные суффиксы и окончания). Делается это при помощи «стеммера». (Исходный код стеммера для языка PHP).
Минус этого алгоритма в том, что он основан на правилах. А как известно, у каждого правила есть исключения – данный алгоритм бессилен против пар вроде «идти»-«шёл», а также непредсказуем в случае с беглыми гласными, довольно часто встречающимися в русском языке (лев-львов, овца-овец).

При индексации сайта, прежде чем занести очередное слово в базу, мы выделяем его корень и заносим только его.
При поиске, мы выделяем корни из слов запроса и ищем в базе данных уже лишь их.
В итоге мы сравниваем не сами слова, а корни – поиск с морфологией готов.

3. Функция «возможно вы искали». Я мог бы долго объяснять почему и для кого нужна эта функция. Но вместо этого скажу только одно – она есть в Яндексе (для русского) и в Google (для английского языка). И это при том, что данные поисковые службы очень осторожно и тщательно подходят к выбору своего функционала.

Как же нам поправить человека, который ввел «малако» вместо «молоко»?

Для английского языка давно существует алгоритм soundex, который устанавливает одинаковый индекс для строк, имеющих схожее звучание.
В MySQL и PHP функция soundex является встроенной. Работает ли она для русских слов? Нет, она работает только со словами, записанными латинскими буквами. Однако ничто не мешает нам записать наши русские слова латинскими буквами!
То есть переводим слово в транслит (не общепринятый транслит, а более подходящий именно по звучанию) и сразу же можем применять soundex.
К слову, существует попытка реализации русской версии soundex. Правда основана она на все той же soundex, только предварительно происходит учёт звучания русских букв.

При индексации слова находим его sound index и записываем в базу данных рядышком с корнем. При поиске отмечаем те слова из запроса, которые не были найдены ни в одном документе, и только для них производим поиск близкого по звучанию аналога (если найдено несколько — отбираем самое часто встречающееся на сайте). Если такое слово найдено — выводим подсказку.

4. Техническая реализация. (Реализация на языке PHP для MySQL.)

Структура таблиц в базе данных. CREATE TABLE `indexing_link` (
`id` int PRIMARY KEY auto_increment,
`url` varchar(255) not null default »,
`title` varchar(255) not null default »,
`short` text not null default »
);

CREATE TABLE `indexing_word` (
`id` int PRIMARY KEY auto_increment,
`word` varchar(30) not null default »,
`sound` char(4) not null default ‘A000’
);
CREATE INDEX idx_word_word ON indexing_word ( word(8) );
CREATE INDEX idx_word_sound ON indexing_word ( sound(4) );

CREATE TABLE `indexing_index` (
`id` int PRIMARY KEY auto_increment,
`link` int not null default 0,
`word` int not null default 0,
`times` int not null default 0
);
CREATE INDEX idx_index_linkword ON indexing_index (link, word);

Таблица link содержит список документов в виде ссылки, заголовка и анонса (первых 300 символов страницы для вывода в результатах поиска).

Таблица word – содержит слова и включает в себя word – то что осталось после стеммера (то что мы называли «корнем») и sound – результат функции soundex для данного слова.

Таблица index связывает две других таблицы. Каждая ее строка – это слово «word», встретившеея на странице «link» «times»-раз.

Индексация. Прежде чем разбивать текст на слова и индексировать их, следует избавится от тэгов и прочих ненужных символов.
Простейшим решением будет применение регулярных выражении:

$tex = preg_replace(‘@]*?>.*?@si’,’ ‘,$tex);
$tex = preg_replace(‘@]*?>.*?@si’,’ ‘,$tex);
$tex = preg_replace(‘@<[\/\!]*?[^<>]*?>@si’,’ ‘,$tex);
Для повышения качества поиска, можно предварительно выделять слова, заключенные в тэги title, h1-h6, b, strong, em, meta keywords и description, и повышать их вес в индексе для данной страницы. Например, банально умножив число вхождении этих слов на 3.

Навигация по записям

❮ Предыдущая запись: Samsung готовит Galaxy Book на базе Windows
Следующая запись: Винир вернет идеальную улыбку ❯

Вам также может понравиться

Технология
Google запустил новый видеосервис YouTube Kids для детей
17.09.2023
Технология
Связь от «МТС» частично отсутствует в Луганске, Алчевске и Красном Луче
25.02.2024
Технология
Стоит ли брать кредит?
14.04.2024
Технология
В Петербурге похищены носители секретной информации ФСБ
21.11.2023

Рубрики

  • Без рубрики
  • Без рубрики
  • Благоустройство территории и ландшафт
  • Внешняя отделка и фасады
  • Внутренняя отделка
  • Главные новости строительной отрасли
  • Дача
  • Здоровье
  • Земля
  • Инженерные системы
  • Интересное
  • Информационный портал
  • Квартира
  • Космос
  • Кровельные работы
  • Мода и красота
  • Новости
  • Обзоры и Статьи
  • Политика
  • Проектирование и планирование
  • Ремонт
  • Роботы
  • Статьи
  • Строительные материалы и технологии
  • Строительство
  • Тепло- и гидроизоляция
  • Техника
  • Технология
  • Финансы
  • Фундаменты и несущие конструкции

Архивы

  • Август 2026
  • Июль 2026
  • Июнь 2026
  • Май 2026
  • Март 2026
  • Декабрь 2025
  • Октябрь 2025
  • Сентябрь 2025
  • Август 2025
  • Июль 2025
  • Июнь 2025
  • Май 2025
  • Апрель 2025
  • Март 2025
  • Февраль 2025
  • Декабрь 2024
  • Ноябрь 2024
  • Октябрь 2024
  • Сентябрь 2024
  • Август 2024
  • Июль 2024
  • Июнь 2024
  • Май 2024
  • Апрель 2024
  • Март 2024
  • Февраль 2024
  • Январь 2024
  • Декабрь 2023
  • Ноябрь 2023
  • Октябрь 2023
  • Сентябрь 2023
  • Август 2023
  • Июль 2023
  • Июнь 2023
  • Май 2023
  • Апрель 2023
  • Март 2023
  • Февраль 2023
  • Январь 2023
  • Декабрь 2022
  • Ноябрь 2022
  • Октябрь 2022
  • Сентябрь 2022
  • Август 2022
  • Июль 2022
  • Июнь 2022
  • Май 2022
  • Апрель 2022
  • Март 2022
  • Февраль 2022
  • Январь 2022
  • Декабрь 2021
  • Ноябрь 2021
  • Октябрь 2021
  • Сентябрь 2021
  • Август 2021
  • Июль 2021
  • Июнь 2021
  • Май 2021
  • Апрель 2021
  • Март 2021
  • Февраль 2021
  • Январь 2021
  • Декабрь 2020
  • Ноябрь 2020
  • Октябрь 2020
  • Сентябрь 2020
  • Август 2020
  • Июль 2020
  • Июнь 2020
  • Май 2020
  • Апрель 2020
  • Март 2020
  • Февраль 2020
  • Январь 2020
  • Декабрь 2019
  • Ноябрь 2019
  • Октябрь 2019
  • Сентябрь 2019
  • Август 2019
  • Июль 2019
  • Июнь 2019
  • Май 2019
  • Апрель 2019
  • Март 2019
  • Февраль 2019
  • Январь 2019
  • Декабрь 2018
  • Ноябрь 2018
  • Октябрь 2018
  • Сентябрь 2018
  • Август 2018
  • Июль 2018
  • Июнь 2018
  • Май 2018
  • Апрель 2018
  • Март 2018
  • Февраль 2018
  • Январь 2018
  • Декабрь 2017
  • Ноябрь 2017
  • Октябрь 2017
  • Сентябрь 2017
  • Август 2017
  • Июль 2017
  • Июнь 2017
  • Май 2017
  • Апрель 2017
  • Март 2017
  • Февраль 2017
  • Январь 2017
  • Декабрь 2016
  • Ноябрь 2016
  • Октябрь 2016
  • Сентябрь 2016
  • Август 2016
  • Июль 2016
  • Июнь 2016
  • Май 2016
  • Апрель 2016
  • Март 2016
  • Февраль 2016
  • Январь 2016
  • Декабрь 2015
  • Ноябрь 2015
  • Октябрь 2015
  • Сентябрь 2015
  • Август 2015
  • Июль 2015
  • Июнь 2015
  • Май 2015
  • Апрель 2015
  • Март 2015
  • Февраль 2015
  • Январь 2015
  • Декабрь 2014
  • Ноябрь 2014
  • Октябрь 2014
  • Сентябрь 2014
  • Август 2014
  • Июль 2014
  • Июнь 2014
  • Май 2014
  • Апрель 2014
  • Март 2014
  • Февраль 2014
  • Январь 2014
  • Декабрь 2013
  • Ноябрь 2013
  • Октябрь 2013
  • Сентябрь 2013
  • Август 2013
  • Июль 2013
  • Июнь 2013
  • Май 2013
  • Апрель 2013
  • Март 2013
  • Февраль 2013
  • Январь 2013
  • Декабрь 2012
  • Ноябрь 2012
  • Октябрь 2012
  • Сентябрь 2012
  • Август 2012
  • Июль 2012
  • Июнь 2012
  • Май 2012
  • Апрель 2012
  • Март 2012
  • Февраль 2012
  • Январь 2012
  • Декабрь 2011
  • Ноябрь 2011
  • Октябрь 2011
  • Сентябрь 2011
  • Август 2011
  • Июль 2011
  • Июнь 2011
  • Май 2011
  • Апрель 2011
  • Март 2011
  • Февраль 2011
  • Январь 2011
  • Декабрь 2010
  • Ноябрь 2010
  • Октябрь 2010
  • Сентябрь 2010
  • Август 2010
  • Июль 2010
  • Июнь 2010
  • Май 2010
  • Апрель 2010
  • Март 2010
  • Февраль 2010
  • Январь 2010
  • Декабрь 2009
  • Ноябрь 2009
  • Октябрь 2009
  • Сентябрь 2009
  • Август 2009
  • Июль 2009
  • Июнь 2009
  • Май 2009
  • Апрель 2009
  • Март 2009
  • Февраль 2009
  • Январь 2009
  • Декабрь 2008
  • Ноябрь 2008
  • Октябрь 2008
  • Сентябрь 2008
  • Август 2008
  • Июль 2008
  • Июнь 2008
  • Май 2008
  • Апрель 2008
  • Март 2008
  • Февраль 2008
  • Январь 2008
  • Декабрь 2007
  • Ноябрь 2007
  • Октябрь 2007
  • Сентябрь 2007
  • Август 2007
  • Июль 2007
  • Июнь 2007
  • Май 2007
  • Апрель 2007
  • Март 2007
  • Февраль 2007
  • Январь 2007
  • Декабрь 2006
  • Ноябрь 2006
  • Октябрь 2006
  • Сентябрь 2006
  • Август 2006
  • Июль 2006
  • Июнь 2006
  • Май 2006
  • Апрель 2006
  • Март 2006
  • Февраль 2006
  • Январь 2006
  • Декабрь 2005
  • Ноябрь 2005
  • Октябрь 2005
  • Сентябрь 2005
  • Август 2005
  • Июль 2005
  • Июнь 2005
  • Май 2005
  • Апрель 2005
  • Март 2005
  • Февраль 2005
  • Январь 2005
  • Декабрь 2004
  • Ноябрь 2004
  • Октябрь 2004
  • Сентябрь 2004
  • Август 2004
  • Июль 2004
  • Июнь 2004
  • Май 2004
  • Апрель 2004
  • Март 2004
  • Февраль 2004
  • Январь 2004
  • Декабрь 2003
  • Ноябрь 2003
  • Октябрь 2003
  • Сентябрь 2003
  • Август 2003
  • Июль 2003
  • Июнь 2003
  • Май 2003
  • Апрель 2003
  • Март 2003
  • Февраль 2003
  • Январь 2003
  • Декабрь 2002
  • Ноябрь 2002
  • Октябрь 2002
  • Сентябрь 2002
  • Август 2002
  • Июль 2002
  • Июнь 2002
  • Май 2002
  • Апрель 2002
  • Март 2002
  • Февраль 2002
  • Январь 2002
  • Декабрь 2001
  • Ноябрь 2001
  • Октябрь 2001
  • Сентябрь 2001
  • Август 2001
  • Июль 2001
  • Июнь 2001
  • Май 2001
  • Апрель 2001
  • Март 2001
  • Февраль 2001
  • Январь 2001
  • Декабрь 2000
  • Ноябрь 2000
  • Октябрь 2000
  • Сентябрь 2000
  • Август 2000
  • Июль 2000
  • Июнь 2000
  • Май 2000
  • Апрель 2000
  • Март 2000
  • Февраль 2000
  • Январь 2000
  • Декабрь 1999
  • Ноябрь 1999
  • Октябрь 1999
  • Сентябрь 1999
  • Август 1999
  • Июль 1999
  • Июнь 1999
  • Май 1999
  • Апрель 1999
  • Март 1999
  • Февраль 1999
  • Январь 1999
  • Декабрь 1998
  • Ноябрь 1998
  • Октябрь 1998
  • Сентябрь 1998
  • Август 1998
  • Июль 1998
  • Июнь 1998
  • Май 1998
  • Апрель 1998
  • Март 1998
  • Февраль 1998
  • Январь 1998
  • Декабрь 1997
  • Ноябрь 1997
  • Октябрь 1997
  • Сентябрь 1997
  • Август 1997
  • Июль 1997
  • Июнь 1997
  • Май 1997
  • Апрель 1997
  • Март 1997
  • Февраль 1997
  • Январь 1997
  • Декабрь 1996
  • Ноябрь 1996
  • Октябрь 1996
  • Сентябрь 1996
  • Август 1996
  • Июль 1996
  • Июнь 1996
  • Май 1996
  • Апрель 1996
  • Март 1996
  • Февраль 1996
  • Январь 1996
  • Декабрь 1995
  • Ноябрь 1995
  • Октябрь 1995
  • Сентябрь 1995
  • Август 1995
  • Июль 1995
  • Июнь 1995
  • Май 1995
  • Апрель 1995
  • Март 1995
  • Февраль 1995
  • Январь 1995
  • Декабрь 1994
  • Ноябрь 1994
  • Октябрь 1994
  • Сентябрь 1994
  • Август 1994
  • Июль 1994
  • Июнь 1994
  • Май 1994
  • Апрель 1994
  • Март 1994
  • Февраль 1994
  • Январь 1994
  • Декабрь 1993
  • Ноябрь 1993
  • Октябрь 1993
  • Сентябрь 1993
  • Август 1993
  • Июль 1993
  • Июнь 1993
  • Май 1993
  • Апрель 1993
  • Март 1993
  • Февраль 1993
  • Январь 1993
  • Декабрь 1992
  • Ноябрь 1992
  • Октябрь 1992
  • Сентябрь 1992
  • Август 1992
  • Июль 1992
  • Июнь 1992
  • Май 1992
  • Апрель 1992
  • Март 1992
  • Февраль 1992
  • Январь 1992
  • Декабрь 1991
  • Ноябрь 1991
  • Октябрь 1991
  • Сентябрь 1991
  • Август 1991
  • Июль 1991
  • Июнь 1991
  • Май 1991
  • Апрель 1991
  • Март 1991
  • Февраль 1991
  • Январь 1991
  • Декабрь 1990
  • Ноябрь 1990
  • Октябрь 1990
  • Сентябрь 1990
  • Август 1990
  • Июль 1990
  • Июнь 1990
  • Май 1990
  • Апрель 1990
  • Март 1990
  • Февраль 1990
  • Январь 1990
  • Декабрь 1989
  • Ноябрь 1989
  • Октябрь 1989
  • Сентябрь 1989
  • Август 1989
  • Июль 1989
  • Июнь 1989
  • Май 1989
  • Апрель 1989
  • Март 1989
  • Февраль 1989
  • Январь 1989
  • Декабрь 1988
  • Ноябрь 1988
  • Октябрь 1988
  • Сентябрь 1988
  • Август 1988
  • Июль 1988
  • Июнь 1988
  • Май 1988
  • Апрель 1988
  • Март 1988
  • Февраль 1988
  • Январь 1988
  • Декабрь 1987
  • Ноябрь 1987
  • Октябрь 1987
  • Сентябрь 1987
  • Август 1987
  • Июль 1987
  • Июнь 1987
  • Май 1987
  • Апрель 1987
  • Март 1987
  • Февраль 1987
  • Январь 1987
  • Декабрь 1986
  • Ноябрь 1986
  • Октябрь 1986
  • Сентябрь 1986
  • Август 1986
  • Июль 1986
  • Июнь 1986
  • Май 1986
  • Апрель 1986
  • Март 1986
  • Февраль 1986
  • Январь 1986
  • Декабрь 1985
  • Ноябрь 1985
  • Октябрь 1985
  • Сентябрь 1985
  • Август 1985
  • Июль 1985
  • Июнь 1985
  • Май 1985
  • Апрель 1985
  • Март 1985
  • Февраль 1985
  • Январь 1985
  • Декабрь 1984
  • Ноябрь 1984
  • Октябрь 1984
  • Сентябрь 1984
  • Август 1984
  • Июль 1984
  • Июнь 1984
  • Май 1984
  • Апрель 1984
  • Март 1984
  • Февраль 1984
  • Январь 1984
  • Декабрь 1983
  • Ноябрь 1983
  • Октябрь 1983
  • Сентябрь 1983
  • Август 1983
  • Июль 1983
  • Июнь 1983
  • Май 1983
  • Апрель 1983
  • Март 1983
  • Февраль 1983
  • Январь 1983
  • Декабрь 1982
  • Ноябрь 1982
  • Октябрь 1982
  • Сентябрь 1982
  • Август 1982
  • Июль 1982
  • Июнь 1982
  • Май 1982
  • Апрель 1982
  • Март 1982
  • Февраль 1982
  • Январь 1982
  • Декабрь 1981
  • Ноябрь 1981
  • Октябрь 1981
  • Сентябрь 1981
  • Август 1981
  • Июль 1981
  • Июнь 1981
  • Май 1981
  • Апрель 1981
  • Март 1981
  • Февраль 1981
  • Январь 1981
  • Декабрь 1980
  • Ноябрь 1980
  • Октябрь 1980
  • Сентябрь 1980
  • Август 1980
  • Июль 1980
  • Июнь 1980
  • Май 1980
  • Апрель 1980
  • Март 1980
  • Февраль 1980
  • Январь 1980
  • Декабрь 1979
  • Ноябрь 1979
  • Октябрь 1979
  • Сентябрь 1979
  • Август 1979
  • Июль 1979
  • Июнь 1979
  • Май 1979
  • Апрель 1979
  • Март 1979
  • Февраль 1979
  • Январь 1979
  • Декабрь 1978
  • Ноябрь 1978
  • Октябрь 1978
  • Сентябрь 1978
  • Август 1978
  • Июль 1978
  • Июнь 1978
  • Май 1978
  • Апрель 1978
  • Март 1978
  • Февраль 1978
  • Январь 1978
  • Декабрь 1977
  • Ноябрь 1977
  • Октябрь 1977
  • Сентябрь 1977
  • Август 1977
  • Июль 1977
  • Июнь 1977
  • Май 1977
  • Апрель 1977
  • Март 1977
  • Февраль 1977
  • Январь 1977
  • Декабрь 1976
  • Ноябрь 1976
  • Октябрь 1976
  • Сентябрь 1976
  • Август 1976
  • Июль 1976
  • Июнь 1976
  • Май 1976
  • Апрель 1976
  • Март 1976
  • Февраль 1976
  • Январь 1976
  • Декабрь 1975
  • Ноябрь 1975
  • Октябрь 1975
  • Сентябрь 1975
  • Август 1975
  • Июль 1975
  • Июнь 1975
  • Май 1975
  • Апрель 1975
  • Март 1975
  • Февраль 1975
  • Январь 1975
  • Декабрь 1974
  • Ноябрь 1974
  • Октябрь 1974
  • Сентябрь 1974
  • Август 1974
  • Июль 1974
  • Июнь 1974
  • Май 1974
  • Апрель 1974
  • Март 1974
  • Февраль 1974
  • Январь 1974
  • Декабрь 1973
  • Ноябрь 1973
  • Октябрь 1973
  • Сентябрь 1973
  • Август 1973
  • Июль 1973
  • Июнь 1973
  • Май 1973
  • Апрель 1973
  • Март 1973
  • Февраль 1973
  • Январь 1973
  • Декабрь 1972
  • Ноябрь 1972
  • Октябрь 1972
  • Сентябрь 1972
  • Август 1972
  • Июль 1972
  • Июнь 1972
  • Май 1972
  • Апрель 1972
  • Март 1972
  • Февраль 1972
  • Январь 1972
  • Декабрь 1971
  • Ноябрь 1971
  • Октябрь 1971
  • Сентябрь 1971
  • Август 1971
  • Июль 1971
  • Июнь 1971
  • Май 1971
  • Апрель 1971
  • Март 1971
  • Февраль 1971
  • Январь 1971
  • Декабрь 1970
  • Ноябрь 1970
  • Октябрь 1970
  • Сентябрь 1970
  • Август 1970
  • Июль 1970
  • Июнь 1970
  • Май 1970
  • Апрель 1970
  • Март 1970
  • Февраль 1970
  • Январь 1970
  • Декабрь 1969
  • Ноябрь 1969
  • Октябрь 1969
  • Сентябрь 1969
  • Август 1969
  • Июль 1969
  • Июнь 1969
  • Май 1969
  • Апрель 1969
  • Март 1969
  • Февраль 1969
  • Январь 1969
  • Декабрь 1968
  • Ноябрь 1968
  • Октябрь 1968
  • Сентябрь 1968
  • Август 1968
  • Июль 1968
  • Июнь 1968
  • Май 1968
  • Апрель 1968
  • Март 1968
  • Февраль 1968
  • Январь 1968
  • Декабрь 1967
  • Ноябрь 1967
  • Октябрь 1967
  • Сентябрь 1967
  • Август 1967
  • Июль 1967
  • Июнь 1967
  • Май 1967
  • Апрель 1967
  • Март 1967
  • Февраль 1967
  • Январь 1967
  • Декабрь 1966
  • Ноябрь 1966
  • Октябрь 1966
  • Сентябрь 1966
  • Август 1966
  • Июль 1966
  • Июнь 1966
  • Май 1966
  • Апрель 1966
  • Март 1966
  • Февраль 1966
  • Январь 1966
  • Декабрь 1965
  • Ноябрь 1965
  • Октябрь 1965
  • Сентябрь 1965
  • Август 1965
  • Июль 1965
  • Июнь 1965
  • Май 1965
  • Апрель 1965
  • Март 1965
  • Февраль 1965
  • Январь 1965
  • Декабрь 1964
  • Ноябрь 1964
  • Октябрь 1964
  • Сентябрь 1964
  • Август 1964
  • Июль 1964
  • Июнь 1964
  • Май 1964
  • Апрель 1964
  • Март 1964
  • Февраль 1964
  • Январь 1964
  • Декабрь 1963
  • Ноябрь 1963
  • Октябрь 1963
  • Сентябрь 1963
  • Август 1963
  • Июль 1963
  • Июнь 1963
  • Май 1963
  • Апрель 1963
  • Март 1963
  • Февраль 1963
  • Январь 1963
  • Декабрь 1962
  • Ноябрь 1962
  • Октябрь 1962
  • Сентябрь 1962
  • Август 1962
  • Июль 1962
  • Июнь 1962
  • Май 1962
  • Апрель 1962
  • Март 1962
  • Февраль 1962
  • Январь 1962
  • Декабрь 1961
  • Ноябрь 1961
  • Октябрь 1961
  • Сентябрь 1961
  • Август 1961
  • Июль 1961
  • Июнь 1961
  • Май 1961
  • Апрель 1961
  • Март 1961
  • Февраль 1961
  • Январь 1961
  • Декабрь 1960
  • Ноябрь 1960
  • Октябрь 1960
  • Сентябрь 1960
  • Август 1960
  • Июль 1960
  • Июнь 1960
  • Май 1960
  • Апрель 1960
  • Март 1960
  • Февраль 1960
  • Январь 1960
  • Декабрь 1959
  • Ноябрь 1959
  • Октябрь 1959
  • Сентябрь 1959
  • Август 1959
  • Июль 1959
  • Июнь 1959
  • Май 1959
  • Апрель 1959
  • Март 1959
  • Февраль 1959
  • Январь 1959
  • Декабрь 1958
  • Ноябрь 1958
  • Октябрь 1958
  • Сентябрь 1958
  • Август 1958
  • Июль 1958
  • Июнь 1958
  • Май 1958
  • Апрель 1958
  • Март 1958
  • Февраль 1958
  • Январь 1958
  • Декабрь 1957
  • Ноябрь 1957
  • Октябрь 1957
  • Сентябрь 1957
  • Август 1957
  • Июль 1957
  • Июнь 1957
  • Май 1957
  • Апрель 1957
  • Март 1957
  • Февраль 1957
  • Январь 1957
  • Декабрь 1956
  • Ноябрь 1956
  • Октябрь 1956
  • Сентябрь 1956
  • Август 1956
  • Июль 1956
  • Июнь 1956
  • Май 1956
  • Апрель 1956
  • Март 1956
  • Февраль 1956
  • Январь 1956
  • Декабрь 1955
  • Ноябрь 1955
  • Октябрь 1955
  • Сентябрь 1955
  • Август 1955
  • Июль 1955
  • Июнь 1955
  • Май 1955
  • Апрель 1955
  • Март 1955
  • Февраль 1955
  • Январь 1955
  • Декабрь 1954
  • Ноябрь 1954
  • Октябрь 1954
  • Сентябрь 1954
  • Август 1954
  • Июль 1954
  • Июнь 1954
  • Май 1954
  • Апрель 1954
  • Март 1954
  • Февраль 1954
  • Январь 1954
  • Декабрь 1953
  • Ноябрь 1953
  • Октябрь 1953
  • Сентябрь 1953
  • Август 1953
  • Июль 1953
  • Июнь 1953
  • Май 1953
  • Апрель 1953
  • Март 1953
  • Февраль 1953
  • Январь 1953
  • Декабрь 1952
  • Ноябрь 1952
  • Октябрь 1952
  • Сентябрь 1952
  • Август 1952
  • Июль 1952
  • Июнь 1952
  • Май 1952
  • Апрель 1952
  • Март 1952
  • Февраль 1952
  • Январь 1952
  • Декабрь 1951
  • Ноябрь 1951
  • Октябрь 1951
  • Сентябрь 1951
  • Август 1951
  • Июль 1951
  • Июнь 1951
  • Май 1951
  • Апрель 1951
  • Март 1951
  • Февраль 1951
  • Январь 1951
  • Декабрь 1950
  • Ноябрь 1950
  • Октябрь 1950
  • Сентябрь 1950
  • Август 1950
  • Июль 1950
  • Июнь 1950
  • Май 1950
  • Апрель 1950
  • Март 1950
  • Февраль 1950
  • Январь 1950
  • Декабрь 1949
  • Ноябрь 1949
  • Октябрь 1949
  • Сентябрь 1949
  • Август 1949
  • Июль 1949
  • Июнь 1949
  • Май 1949
  • Апрель 1949
  • Март 1949
  • Февраль 1949
  • Январь 1949
  • Декабрь 1948
  • Ноябрь 1948
  • Октябрь 1948
  • Сентябрь 1948
  • Август 1948
  • Июль 1948
  • Июнь 1948
  • Май 1948
  • Апрель 1948
  • Март 1948
  • Февраль 1948
  • Январь 1948
  • Декабрь 1947
  • Ноябрь 1947
  • Октябрь 1947
  • Сентябрь 1947
  • Август 1947
  • Июль 1947
  • Июнь 1947
  • Май 1947
  • Апрель 1947
  • Март 1947
  • Февраль 1947
  • Январь 1947
  • Декабрь 1946
  • Ноябрь 1946
  • Октябрь 1946
  • Сентябрь 1946
  • Август 1946
  • Июль 1946
  • Июнь 1946
  • Май 1946
  • Апрель 1946
  • Март 1946
  • Февраль 1946
  • Январь 1946
  • Декабрь 1945
  • Ноябрь 1945
  • Октябрь 1945
  • Сентябрь 1945
  • Август 1945
  • Июль 1945
  • Июнь 1945
  • Май 1945
  • Апрель 1945
  • Март 1945
  • Февраль 1945
  • Январь 1945
  • Декабрь 1944
  • Ноябрь 1944
  • Октябрь 1944
  • Сентябрь 1944
  • Август 1944
  • Июль 1944
  • Июнь 1944
  • Май 1944
  • Апрель 1944
  • Март 1944
  • Февраль 1944
  • Январь 1944
  • Декабрь 1943
  • Ноябрь 1943
  • Октябрь 1943
  • Сентябрь 1943
  • Август 1943
  • Июль 1943
  • Июнь 1943
  • Май 1943
  • Апрель 1943
  • Март 1943
  • Февраль 1943
  • Январь 1943
  • Декабрь 1942
  • Ноябрь 1942
  • Октябрь 1942
  • Сентябрь 1942
  • Август 1942
  • Июль 1942
  • Июнь 1942
  • Май 1942
  • Апрель 1942
  • Март 1942
  • Февраль 1942
  • Январь 1942
  • Декабрь 1941
  • Ноябрь 1941
  • Октябрь 1941
  • Сентябрь 1941
  • Август 1941
  • Июль 1941
  • Июнь 1941
  • Май 1941
  • Апрель 1941
  • Март 1941
  • Февраль 1941
  • Январь 1941
  • Декабрь 1940
  • Ноябрь 1940
  • Октябрь 1940
  • Сентябрь 1940
  • Август 1940
  • Июль 1940
  • Июнь 1940
  • Май 1940
  • Апрель 1940
  • Март 1940
  • Февраль 1940
  • Январь 1940
  • Декабрь 1939
  • Ноябрь 1939
  • Октябрь 1939
  • Сентябрь 1939
  • Август 1939
  • Июль 1939
  • Июнь 1939
  • Май 1939
  • Апрель 1939
  • Март 1939
  • Февраль 1939
  • Январь 1939
  • Декабрь 1938
  • Ноябрь 1938
  • Октябрь 1938
  • Сентябрь 1938
  • Август 1938
  • Июль 1938
  • Июнь 1938
  • Май 1938
  • Апрель 1938
  • Март 1938
  • Февраль 1938
  • Январь 1938
  • Декабрь 1937
  • Ноябрь 1937
  • Октябрь 1937
  • Сентябрь 1937
  • Август 1937
  • Июль 1937
  • Июнь 1937
  • Май 1937
  • Апрель 1937
  • Март 1937
  • Февраль 1937
  • Январь 1937
  • Декабрь 1936
  • Ноябрь 1936
  • Октябрь 1936
  • Сентябрь 1936
  • Август 1936
  • Июль 1936
  • Июнь 1936
  • Май 1936
  • Апрель 1936
  • Март 1936
  • Февраль 1936
  • Январь 1936
  • Декабрь 1935
  • Ноябрь 1935
  • Октябрь 1935
  • Сентябрь 1935
  • Август 1935
  • Июль 1935
  • Июнь 1935
  • Май 1935
  • Апрель 1935
  • Март 1935
  • Февраль 1935
  • Январь 1935
  • Декабрь 1934
  • Ноябрь 1934
  • Октябрь 1934
  • Сентябрь 1934
  • Август 1934
  • Июль 1934
  • Июнь 1934
  • Май 1934
  • Апрель 1934
  • Март 1934
  • Февраль 1934
  • Январь 1934
  • Декабрь 1933
  • Ноябрь 1933
  • Октябрь 1933
  • Сентябрь 1933
  • Август 1933
  • Июль 1933
  • Июнь 1933
  • Май 1933
  • Апрель 1933
  • Март 1933
  • Февраль 1933
  • Январь 1933
  • Декабрь 1932
  • Ноябрь 1932
  • Октябрь 1932
  • Сентябрь 1932
  • Август 1932
  • Июль 1932
  • Июнь 1932
  • Май 1932
  • Апрель 1932
  • Март 1932
  • Февраль 1932
  • Январь 1932
  • Декабрь 1931
  • Ноябрь 1931
  • Октябрь 1931
  • Сентябрь 1931
  • Август 1931
  • Июль 1931
  • Июнь 1931
  • Май 1931
  • Апрель 1931
  • Март 1931
  • Февраль 1931
  • Январь 1931
  • Декабрь 1930
  • Ноябрь 1930
  • Октябрь 1930
  • Сентябрь 1930
  • Август 1930
  • Июль 1930
  • Июнь 1930
  • Май 1930
  • Апрель 1930
  • Март 1930
  • Февраль 1930
  • Январь 1930
  • Декабрь 1929
  • Ноябрь 1929
  • Октябрь 1929
  • Сентябрь 1929
  • Август 1929
  • Июль 1929
  • Июнь 1929
  • Май 1929
  • Апрель 1929
  • Март 1929
  • Февраль 1929
  • Январь 1929
  • Декабрь 1928
  • Ноябрь 1928
  • Октябрь 1928
  • Сентябрь 1928
  • Август 1928
  • Июль 1928
  • Июнь 1928
  • Май 1928
  • Апрель 1928
  • Март 1928
  • Февраль 1928
  • Январь 1928
  • Декабрь 1927
  • Ноябрь 1927
  • Октябрь 1927
  • Сентябрь 1927
  • Август 1927
  • Июль 1927
  • Июнь 1927
  • Май 1927
  • Апрель 1927
  • Март 1927
  • Февраль 1927
  • Январь 1927
  • Декабрь 1926
  • Ноябрь 1926
  • Октябрь 1926
  • Сентябрь 1926
  • Август 1926
  • Июль 1926
  • Июнь 1926
  • Май 1926
  • Апрель 1926
  • Март 1926
  • Февраль 1926
  • Январь 1926
  • Декабрь 1925
  • Ноябрь 1925
  • Октябрь 1925
  • Сентябрь 1925
  • Август 1925
  • Июль 1925
  • Июнь 1925
  • Май 1925
  • Апрель 1925
  • Март 1925
  • Февраль 1925
  • Январь 1925
  • Декабрь 1924
  • Ноябрь 1924
  • Октябрь 1924
  • Сентябрь 1924
  • Август 1924
  • Июль 1924
  • Июнь 1924
  • Май 1924
  • Апрель 1924
  • Март 1924
  • Февраль 1924
  • Январь 1924
  • Декабрь 1923
  • Ноябрь 1923
  • Октябрь 1923
  • Сентябрь 1923
  • Август 1923
  • Июль 1923
  • Июнь 1923
  • Май 1923
  • Апрель 1923
  • Март 1923
  • Февраль 1923
  • Январь 1923
  • Декабрь 1922
  • Ноябрь 1922
  • Октябрь 1922
  • Сентябрь 1922
  • Август 1922
  • Июль 1922
  • Июнь 1922
  • Май 1922
  • Апрель 1922
  • Март 1922
  • Февраль 1922
  • Январь 1922
  • Декабрь 1921
  • Ноябрь 1921
  • Октябрь 1921
  • Сентябрь 1921
  • Август 1921
  • Июль 1921
  • Июнь 1921
  • Май 1921
  • Апрель 1921
  • Март 1921
  • Февраль 1921
  • Январь 1921
  • Декабрь 1920
  • Ноябрь 1920
  • Октябрь 1920
  • Сентябрь 1920
  • Август 1920
  • Июль 1920
  • Июнь 1920
  • Май 1920
  • Апрель 1920
  • Март 1920
  • Февраль 1920
  • Январь 1920
  • Декабрь 1919
  • Ноябрь 1919
  • Октябрь 1919
  • Сентябрь 1919
  • Август 1919
  • Июль 1919
  • Июнь 1919
  • Май 1919
  • Апрель 1919
  • Март 1919
  • Февраль 1919
  • Январь 1919
  • Декабрь 1918
  • Ноябрь 1918
  • Октябрь 1918
  • Сентябрь 1918
  • Август 1918
  • Июль 1918
  • Июнь 1918
  • Май 1918
  • Апрель 1918
  • Март 1918
  • Февраль 1918
  • Январь 1918
  • Декабрь 1917
  • Ноябрь 1917
  • Октябрь 1917
  • Сентябрь 1917
  • Август 1917
  • Июль 1917
  • Июнь 1917
  • Май 1917
  • Апрель 1917
  • Март 1917
  • Февраль 1917
  • Январь 1917
  • Декабрь 1916
  • Ноябрь 1916
  • Октябрь 1916
  • Сентябрь 1916
  • Август 1916
  • Июль 1916
  • Июнь 1916
  • Май 1916
  • Апрель 1916
  • Март 1916
  • Февраль 1916
  • Январь 1916
  • Декабрь 1915
  • Ноябрь 1915
  • Октябрь 1915
  • Сентябрь 1915
  • Август 1915
  • Июль 1915
  • Июнь 1915
  • Май 1915
  • Апрель 1915
  • Март 1915
  • Февраль 1915
  • Январь 1915
  • Декабрь 1914
  • Ноябрь 1914
  • Октябрь 1914
  • Сентябрь 1914
  • Август 1914
  • Июль 1914
  • Июнь 1914
  • Май 1914
  • Апрель 1914
  • Март 1914
  • Февраль 1914
  • Январь 1914
  • Декабрь 1913
  • Ноябрь 1913
  • Октябрь 1913
  • Сентябрь 1913
  • Август 1913
  • Июль 1913
  • Июнь 1913
  • Май 1913
  • Апрель 1913
  • Март 1913
  • Февраль 1913
  • Январь 1913
  • Декабрь 1912
  • Ноябрь 1912
  • Октябрь 1912
  • Сентябрь 1912
  • Август 1912
  • Июль 1912
  • Июнь 1912
  • Май 1912
  • Апрель 1912
  • Март 1912
  • Февраль 1912
  • Январь 1912
  • Декабрь 1911
  • Ноябрь 1911
  • Октябрь 1911
  • Сентябрь 1911
  • Август 1911
  • Июль 1911
  • Июнь 1911
  • Май 1911
  • Апрель 1911
  • Март 1911
  • Февраль 1911
  • Январь 1911
  • Декабрь 1910
  • Ноябрь 1910
  • Октябрь 1910
  • Сентябрь 1910
  • Август 1910
  • Июль 1910
  • Июнь 1910
  • Май 1910
  • Апрель 1910
  • Март 1910
  • Февраль 1910
  • Январь 1910
  • Декабрь 1909
  • Ноябрь 1909
  • Октябрь 1909
  • Сентябрь 1909
  • Август 1909
  • Июль 1909
  • Июнь 1909
  • Май 1909
  • Апрель 1909
  • Март 1909
  • Февраль 1909
  • Январь 1909
  • Декабрь 1908
  • Ноябрь 1908
  • Октябрь 1908
  • Сентябрь 1908
  • Август 1908
  • Июль 1908
  • Июнь 1908
  • Май 1908
  • Апрель 1908
  • Март 1908
  • Февраль 1908
  • Январь 1908
  • Декабрь 1907
  • Ноябрь 1907
  • Октябрь 1907
  • Сентябрь 1907
  • Август 1907
  • Июль 1907
  • Июнь 1907
  • Май 1907
  • Апрель 1907
  • Март 1907
  • Февраль 1907
  • Январь 1907
  • Декабрь 1906
  • Ноябрь 1906
  • Октябрь 1906
  • Сентябрь 1906
  • Август 1906
  • Июль 1906
  • Июнь 1906
  • Май 1906
  • Апрель 1906
  • Март 1906
  • Февраль 1906
  • Январь 1906
  • Декабрь 1905
  • Ноябрь 1905
  • Октябрь 1905
  • Сентябрь 1905
  • Август 1905
  • Июль 1905
  • Июнь 1905
  • Май 1905
  • Апрель 1905
  • Март 1905
  • Февраль 1905
  • Январь 1905
  • Декабрь 1904
  • Ноябрь 1904
  • Октябрь 1904
  • Сентябрь 1904
  • Август 1904
  • Июль 1904
  • Июнь 1904
  • Май 1904
  • Апрель 1904
  • Март 1904
  • Февраль 1904
  • Январь 1904
  • Декабрь 1903
  • Ноябрь 1903
  • Октябрь 1903
  • Сентябрь 1903
  • Август 1903
  • Июль 1903
  • Июнь 1903
  • Май 1903
  • Апрель 1903
  • Март 1903
  • Февраль 1903
  • Январь 1903
  • Декабрь 1902
  • Ноябрь 1902
  • Октябрь 1902
  • Сентябрь 1902
  • Август 1902
  • Июль 1902
  • Июнь 1902
  • Май 1902
  • Апрель 1902
  • Март 1902
  • Февраль 1902
  • Январь 1902
  • Декабрь 1901
  • Ноябрь 1901
  • Октябрь 1901
  • Сентябрь 1901
  • Август 1901
  • Июль 1901
  • Июнь 1901
  • Май 1901
  • Апрель 1901
  • Март 1901
  • Февраль 1901
  • Январь 1901
  • Декабрь 1900
  • Ноябрь 1900
  • Октябрь 1900
  • Сентябрь 1900
  • Август 1900
  • Июль 1900
  • Июнь 1900
  • Май 1900
  • Апрель 1900
  • Март 1900
  • Февраль 1900
  • Январь 1900
  • Декабрь 1899
  • Ноябрь 1899
  • Октябрь 1899
  • Сентябрь 1899
  • Август 1899
  • Июль 1899
  • Июнь 1899
  • Май 1899
  • Апрель 1899
  • Март 1899
  • Февраль 1899
  • Январь 1899
  • Декабрь 1898
  • Ноябрь 1898
  • Октябрь 1898
  • Сентябрь 1898
  • Август 1898
  • Июль 1898
  • Июнь 1898
  • Май 1898
  • Апрель 1898
  • Март 1898
  • Февраль 1898
  • Январь 1898
  • Декабрь 1897
  • Ноябрь 1897
  • Октябрь 1897
  • Сентябрь 1897
  • Август 1897
  • Июль 1897
  • Июнь 1897
  • Май 1897
  • Апрель 1897
  • Март 1897
  • Февраль 1897
  • Январь 1897
  • Декабрь 1896
  • Ноябрь 1896

Copyright © 2026 Строительство.

Тема: Oceanly Green от ScriptsTown

Этот сайт использует cookie для хранения данных. Продолжая использовать сайт, Вы даете свое согласие на работу с этими файлами.