Pull to refresh

Ищем вместе или объединение браузеров

Reading time4 min
Views1.1K
vse-p2pВ очередной раз набирая в поисковике запрос, я подумал: а ведь кто-то уже проходил этот самый путь, писал такой же запрос, просматривал ворох разнообразных страничек, чтобы найти именно то, что надо, и сделал закладку, чтоб в следующий раз время не тратить. Вот было бы здорово сразу по написанному поисковому запросу получить список уже сделанных другими соответствующих закладок.

Что для этого нужно? Нужно расширение к браузеру, которое позволит сохранять вместе с закладкой и поисковую фразу. Такое расширение должно как-то публиковать данные, делать их доступными для поиска.

Так появилась идея написать расширение к Firefox, объединяющее браузеры в единую «закладкообменную» p2p-сеть. О результатах своей работы я хотел бы рассказать уважаемому собранию. В этой статье я не буду касаться технических деталей реализации, а просто расскажу и покажу на картинках как работает написанное расширение. Если будут вопросы, с удовольствием отвечу в комментариях.

Коротко о проекте


Проект называется Всеиск. В настоящее время реализована бета-версия расширения к Firefox 3.6. Скачать можно здесь. Поскольку речь идет о p2p сети, полномасштабное тестирование возможно только при достаточно большом количестве участников. Одна из целей этой статьи — пригласить желающих установить нынешнюю бету Всеиск и поделиться результатами, замечаниями, соображениями, найденными ошибками и т.д…

Как это выглядит


Установленное расширение добавляет на верхней панели управления 2 кнопки.

vseisk-buttons

Первая («звездочка») служит для добавления новых закладок, связанных с поисковым запросом. Вторая («лупа») открывает страницу поиска Всеиск. Выглядит эта страница так:

vseisk-search


Как данные попадают во Всеиск


Предположим, мне понадобилось найти информацию по теме «примеры java». Я захожу на любой поисковик и ищу соответствующие страницы. В этот момент расширение добавляет мой поисковый запрос в выпадающий список под кнопкой «звездочка»:

vseisk-button-popup-saved-search


Я просматриваю найденные страницы и выбираю ту из них, которая действительно мне полезна. Чтобы сохранить страницу в закладки, я нажимаю на «звездочку» и вижу выпадающее меню, в котором выбираю пункт «примеры java». Открывается форма добавления закладки, в которой есть поле «Поиск по». Здесь как раз и написан поисковый запрос, связанный с текущей страницей.

vseisk-dialog-add


Другой способ — открыть через общее меню диалог создания закладки и выбрать соответствующий запрос в выпадающем меню (но этот способ на 2 клика длиннее предыдущего):

vseisk-dialog-add-menu


После создания закладки расширение сохраняет ссылку на страницу и поисковый запрос в свою отдельную базу данных. Информация из этой отдельной БД время от времени публикуется в сети, то есть расширение Всеиск, являющееся одним из узлов p2p-сети, находит по некоторому поисковому алгоритму тот узел p2p-сети, который «отвечает» за хранение конкретного поискового запроса, и сохраняет на этом узле пару «запрос-ссылка». Таким образом данные для поиска «размазаны» по всем узлам этой одноранговой сети.

Как происходит поиск


Чтобы начать поиск открываем кнопкой «лупа» поисковую страницу, вводим запрос и нажимаем кнопку «искать»:

vseisk-search-result


Процесс поиска происходит так же как и процесс публикации — сначала расширение находит «ответственный» за поисковый запрос узел p2p-сети, и затем запрашивает у него список ссылок. Результаты поиска видим на левой половине поисковой страницы. Кроме того справа можно увидеть сделанные прежде поиски по сети Всеиск.

Какие запросы связаны со страницей


vseisk-button-popup-keywords Когда некоторая страница открыта достаточно долго расширение находит в сети Всеиск те запросы, которые пользователи уже связали с данной страницей. В этом случае иконка на кнопке «лупа» изменяется на подсвеченную и по наведению мышкой на эту кнопку появляется список запросов. Если щелкнуть мышью по одному из запросов в выпавшем списке, то откроется диалог добавления закладки. Таким образом если пользователь считает, что запрос соответствует содержимому страницы, он «голосует» за этот запрос, добавляя его в свою базу данных. Такой механизм «голосования» позволяет выстроить результаты поиска по популярности, т.е. по количеству пользователей, связавших эту страницу с конкретным поисковым запросом. При достаточно большом количестве участников поисковой сети этот механизм позволит также отфильтровать неизбежно возникающий мусор.

Опубликованные ссылки


Ссылка «опубликованные» ведет на страницу со списком всех опубликованных пользователем в сети Всеиск ссылок. Вот как выглядит эта страница:

vseisk-stor-open


Настройки


В любой p2p сети узлам необходимо общаться друг с другом как для публикации-поиска, так и для поддержания своих таблиц маршрутизации в рабочем состоянии. Поэтому желательно, чтобы узел был доступен из интернета по протоколу TCP/IP (использовать UDP в Firefox к сожалению пока нет возможности). Задать сетевой порт для расширения можно на странице «Настройки». Я не стану подробно рассказывать как открыть порт на машине для доступа извне, поскольку на эту тему написано много, да и читатели этого сайта наверняка знают как это сделать.

Заключение


В отличие от классической поисковой системы, где наполнением базы данных занимаются специальные программы, в поисковой сети Всеиск эту функцию выполняют конечные пользователи, то есть сами потребители информации, поэтому можно ожидать, что релевантность поиска будет существенно выше чем в поисковиках. В настоящее время сеть Всеиск пуста. Естественно основная ценность такой сети в ее содержимом, поэтому если идея Вам понравилась, Вы можете внести свой вклад делая закладки через расширение Всеиск.
Tags:
Hubs:
Total votes 72: ↑55 and ↓17+38
Comments58

Articles