← Разработка
Каталог сайтов на Sugata
Мне всегда нравилось работать с ссылками. Как только появился Интернет мы делали каталоги сайтов, потом поисковые системы. Индексация, словари, бесконечные подсчеты показателей, фильтры.
Ссылки важны. На них строится Интернет. В любых проектах мы стараемся их использовать. На Sugata задача немного проще. Это не поисковая система. Но есть ряд вопросов, на которые мы хотели бы получить ответ.
- Какие ссылки размещает пользователь?
- К какому сайту тяготит он?
- Он размещает ссылки своего сайта?
- Он указал свой сайт явно в профиле?
- Какого качество сайта?
- Какова энтропия ссылки и т.д.
Мы собираем много данных по ссылкам и это обычно закрытые данные. На Toxu.ru, например, они позволяют бороться со спамом.
И тут пришла идея. А если обвернуть данные в оболочку и показать их участникам. Только наверное не так, как это делает Meneame. Точнее то, что он делает — правильно, но насколько это понятно?
Это публичный график изменения кармы ссылки в конкретной публикации.
А это подсчет кармы для прыжка в видимую область (центральная страница).
Подсчет: 19:50 UTC
Целей: 30, интервал: 2880с, разница: 2399с, спад: 1.0250520833333
Статистика за 2 дня для пространства: 0.13730769230769
Статистика за 2 дня для актуальности: 0.14722962680883
Коэффициент кармы для пространства: 1.1581390966172
Коэффициент кармы на сегодня: 1.0800910806784
Среднее количество кармы за ссылку: 10.192552673817, прошлая карма.
Прогноз: 10.21, пиковый: 10.39
Текущая минимальная карма: 9, абсолютная минимальная карма: 8.7, анализ от 12.
Не думаю, что это хорошая идея. Зачем эта информация размещенная в таком виде?
Под «обвернуть» в видимую оболочку я понимаю сделать обычный интерфейс, который можно будет использовать.
InstantCMS — конструктор, т.е. мы можем легко создавать поля и связывать их. А наполнить их, мы можем, как угодно.
В общем, не долго думаю, я взял свой один из предыдущих проектов и просто перенес некоторый видимый функционал сюда.
Получилось вот что:
Мы собираем боле 20 различных показателей с привязкой к пользователю, необходимо лишь было добавить скриншот сайта и favicons, который, как и другие показатели собираются в автоматическом режиме.
Другими словами мы просто взяли функционал ссылки, с которыми мы работаем, не особо много добавили для наглядности (красоты) и вывели это.
Собственно сам раздел: https://sugata.ru/web
Не особо много работы, лишь несколько часов ушло на то, чтобы сделать такой набросок.
Все ссылки проверяются на «отклик» (чтобы не было битых, различные редиректы...) и есть привязка ссылок к пространствам, т.е появляется возможность администраторам пространств добавлять ссылки (сейчас эта возможность временно отключена).
Ссылки добавленные в публикации аналогично участвуют в этом механизме. Но видимыми в каталоге (в виде сайта) они становятся лишь после утверждения.
Сайт может содержать много ссылок на разные страницы, например: Reddit, вес, карма ссылок сливается, обрабатывается с общим, основным, видимым в каталоге доменом.
[hide] Проверка: этот тест не должен быть виден без авторизации [/hide]
Интересно, очень интересно. Не думал, что тут это можно использовать таким образом. И вы открыли ссылки для индексации?
Передача «веса» с некоторых страниц — уместно.
Самое сложное в любом каталоге, это сделать связи, например, категорий с @Наука
Мы будем делать это тут? Унаследование дочерних ссылок и др.
Посмотрел. Есть такая возможно. Но обычно это делается в полноценных каталогов, тут не было такой задачи. Вертикальные и горизонтальные связи не только между ссылками, но и между всеми полями. На локале сделал что-то подобное этому:
Да, ну и цвета там чуток подправил. Мы же используем полностью независимый шаблон для завершенных, самодостаточных разделов. Фон там поменял и цветовую гамму.
Расширил категории:
Теперь можно устраивать горизонтальные связи между категориями и выводить несколько дополнительных свойств категорий. Посмотреть это дело тут. Связи могут быть обоюдными (обратными) и прямыми. Ну прям, как в путном каталоге.
Центральную страницу необходимо переделать: убрать пагинацию, и вывести выбранные ресурсы или сайты дня.
Теперь эта страница использует свой шаблон. Как будем выводить туда и что?
+ последние 5 ссылок добавленных в каталог.
На центральную страницу необходимо добавить еще корневые категории, чтобы можно было оценивать дизайн. На данный момент верхняя часть каталога пуста.
Да, это будет сделано обязательно. И видимо нам необходимо поменять некоторую логику там. Узнал движок чуток лучше и можно некоторые вещи сделать по другому, проще.
Переделал центральную страницу и начал добавлять сайты. Сегодня надо добавить все категории и минимальное количество сайтов в них. Посмотрел по ИКС, из нашего списка. Позже необходимо связать горизонтально разделы.
Сайты прибывают. А мы что будем использовать для поиска?
Я бы сказал Nutch еще лет 5 назад, теперь не знаю. DS — возможно, все же С не Java. Или я попробую поставить свой. Пока не думал об этом. Для меня самое простое — поиск, т.к. самое знакомое. 8 числа точно будем знать.
Поскольку у нас есть ссылки, каталог, то видимо должен быть и поиск по нему. Хороший поиск, а еще лучше, чтобы искало и совсем чуток по этому сайту: nutch, aspseek… то, с чем я занимался ранее несколько лет не совсем подходят сегодня. Первый извратили, а второй морально устарел. Хм… надо что-то придумать.
Nutch вроде с Solr идет, но я не занимался ими. Java выше моего понимания. )
Поставил Nutch, поставил Solr. Связал. Оказывается там надо учитывать версию. И Nuch2 очень отличается от 1. ИМХО, не в лучшую сторону. Интерфейс красивый, но черт побери — это поиск, а не фотошоп. А там в этом интерфейсе, куча всего. Не надо мне это. Если мне надо API, или еще что-то я сделаю это руками. А там, черт ногу сломит. Ну скажем так, после 10 лет, это какой-то Ворпресс стал. И я ради теста делал на слабом серваке, конечно Java жрет дофига. Aspseek был отличным вариантом. На одном процессоре у меня ранее висело 12.000.000 страниц. Четко работал. Но сейчас gcc новый, ядра новые. Он собирается криво. Точнее вообще не собирается. День убил заставил его работать. Правил код, чуть не спятил. И индекс, он не стопками собирает. Nutch в плане построение индекса норм, но опять, не хочется возвращаться к старью и брать 1 версию. Ладно. Завтра буду. Еще одни поставил для теста. Натравил на 10 сайтов с глубиной 1. Интерфейс все равно править надо. Пользовательскую часть сделаю сегодня, а далее с индексом что-то решим. Связи надо сделать. У нас есть — категория, иконки, скриншоты. Их надо туда вытянуть, при условии, что id будут совпадать добавленных url. Надо делать синхронизацию баз, SQL и NO… в общем. Поковыряюсь, но не долго. Нет на это время.
Чтобы не забыть. Надо добавить ссылку на rss ленту в каталог, если она есть.
Добавил. Но я с aspseek застрял. C++ не мое
Там надо переписать. Поиск делался в 12 году. Сейчас гляну. Но он конфигурироваться должен. make не пройдет. Опять библиотека какая нибудь устарела в сборке.
Вывел последнюю (?) корневую категорию Товары и услуги. Она будет большой, нам надо сразу сменить шаблон для нее.
Вот, добавлена статья: Как заработать на фрилансе. В статье перечислены несколько сайтов, которые к счастью есть в каталоге. Теперь необходимо подумать о связи: как только появилась статья с ссылкой, на сайт, которые есть в каталоге, они должны быть связаны. Под этим, я подразумеваю, что на детальной странице сайта, должна существовать возможность показать эту самую статью. И другой вариант, появляется ссылка, но сайта нет в каталоге. Персонал должен знать об этом. Надо подумать, как лучше это реализовать.
Парсер я накидаю на днях и покажу.
Перевел каталог на новый дизайн. Часть css убрал, минус 1 файл. Но нужно посмотреть, что еще можно удалить.