Алгоритм поисковой системы SVLAB Search

Поисковая система SVLAB Search.

image

Новая поисковая система позволяет с помощью плагина для Google Chrome добавить ваши страницы в индексы поисковой системы.

После установки плагина вам будет доступна кнопка «Сохранить страницу». Каждое добавление страницы в поисковую систему ассоциируется с вашим IP. Таким образом осуществлять поиск по вашим страница можно только с вашего IP. Поисковая система доступна по адресам
svlaboratory.org/application/search и svlaboratory.com

Алгоритм, реализация, стек технологий.

Индексы поисковой системы хранятся в базе данных MySQL. В качестве индексов используются текст внутри тегов html страниц полученных после их загрузки и динамического отображения в браузере пользователя. Также используется текст полученный после преобразования слов в базовую форму библиотекой морфологического анализатора Az.js.

По такому же принципу сохраняются индексы ссылок на медиа ресурсы HTML страницы: гиперссылки, изображения, видео.

Все индексы соответствуют отдельным таблицам базы данных MySQL, отдельные строки которых соответствуют описанию индексируемых страниц.

Динамическая загрузка и парсинг страниц осуществляется Google Chrome плагином с помощью библиотеки JQuery.

После того как плагин подключен к браузеру и пользователь на нужной странице нажал кнопку «Сохранить страницу» осуществляется отправка данных парсинга на веб сервер поисковой системы написанной на PHP с использованием каркаса приложения запросов Zend Framework.

Для поиска по вашим страницам ваши данные ассоциируются с вашим IP адресом и поисковый запрос отправляется со страницы web приложения svlaboratory.org/application/search и svlaboratory.com на экшен web сервера Apache с помощью технологии Ajax.

В качестве алгоритма поиска страниц используется поисковые запросы к базе данных MySQL.
Для поиска предложений — предложения разбиваются на слова, слова приводятся в базовую форму морфологическим анализатором. Осуществляются поиски отдельных слов.

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

Конкретная реализация поисковой системы в вашем случае будет зависеть только от вашего умения программировать.

Всех приглашаю пользоваться моей поисковой системой.

С наилучшими пожеланиями,
SVLAB
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 82

    +3
    Исходники?
      –10
      Исходники не открываю
      +15
      TL;DR статьи: штука есть такая, я ее написал, вот. Как работает и как написал — не скажу.

      В качестве алгоритма поиска страниц используется поисковые запросы к базе данных MySQL.

      парсинг страниц осуществляется… с помощью библиотеки JQuery.

      Исходники не открываю

      Да, в общем-то, и не надо тогда.
        –2
        В этой статье я хотел представить публики не столько алгоритм сколько продукт. Поскольку кармы мало то необходимо писать в другие хабы, а не защищенный хаб «Я пиарюсь». Все же алгоритм достаточно понятен для реализации программистом. Все тонкости связанные с реализацией конкретных вещей таких как запросы SQL, создание таблиц SQL, экшены PHP, и отправка AJAX запросов JS-ом можно почитать в учебниках и найти на stackoverflow.com
          +2
          Вот если бы вы в статье предлагали идею продукта, описали бы use case, технологическое решение, алгоритмы, результаты тестирования, посчитали бы, какую нагрузку выдержит ваш вариант реализации и т.д. — могла бы выйти годная статья, несмотря на спорную идею.

          Вы же пиарите «поисковую систему», которая таковой не является, заявляете темой статьи алгоритм, про который ничего (почти) не пишете…
            0

            А в чем ценность вашего "продукта"?

              –2
              в назначении
                0

                А конкретнее?

                  0
                  в статье описано назначение поконкретней
                    0

                    В статье описано "назначение поконкретнее", но не описано, чем это ценно. А это именно то, что я спрашивал.

                      –4
                      Представляет ценность в жизни использования web и интернет
                        0

                        В чем конкретно заключается эта ценность?

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

                            Для какого случая? Какую задачу вы решаете?

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

                                Не "повторять". Вы ее до сих пор ни разу не озвучили (о чем я вам неоднократно в ходе этого диалога и сказал).

                                  –3
                                  Как было доказано, вы лжете и лицемерете.
                                    0
                                    Как было доказано

                                    Не было. Ваше утверждение "вы врете" не является доказательством чего бы то ни было.

                                      –2
                                      Почитайте комментарии, там все доказано. Вы пользуетесь аналогичным сервисом и платите за него деньги, а скорее всего опять просто лжете.
                                        0
                                        Почитайте комментарии, там все доказано.

                                        Нет.


                                        Вы пользуетесь аналогичным сервисом и платите за него деньги

                                        Я пользуюсь сервисом, который делает то, что мне нужно. То, что он — по вашему утверждению, не по моему — аналогичен вашему, никак не делает меня лжецом.

                                        –2
                                        Почитайте комментарии, там все доказано. Вы пользуетесь аналогичным сервисом и платите за него деньги, а скорее всего опять просто лжете, ничем вы не пользуетесь.
                                          0

                                          … от того, что вы повторите свой комментарий дважды, он не станет ближе к истине.


                                          скорее всего опять просто лжете, ничем вы не пользуетесь.

                                          https://getpocket.com/@c79d0p54Tf1fYgH367A00GsA20g9TY67359R87y5fRWcH7dfi12f8J3az36IJl12


                                          Жду извинений.

                                            –4
                                            Хорошо тут может и не лжете. Но в выше сказанном вы лгали. Вы знаете про аналогичный сервис, а говорили что не имеете понятия о поставленной задаче.
                                              0
                                              Но в выше сказанном вы лгали.

                                              Докажите.


                                              Вы знаете про аналогичный сервис, а говорили что не имеете понятия о поставленной задаче.

                                              Я, вообще, много про какие сервисы знаю. И что?..

                +3
                Поскольку кармы мало то необходимо писать в другие хабы, а не защищенный хаб «Я пиарюсь».

                Вывод неверный. Поскольку кармы мало, то необходимо писать статьи по сути, а не рекламные.
              +5
              Как, опять?
              В прошлый раз уже вам же сказали, что в таком виде оно не надо примерно никому.
              Тем более, что утверждение
              Конкретная реализация поисковой системы в вашем случае будет зависеть только от вашего умения программировать.

              невозможно без доступа к исходникам.
                +1

                Все-таки мне не показалось, что я это уже видел.

                  +2
                  Да-а… А какой там был поток сознания… С масонами и троллями…
                  –3
                  Миклухо, вы всегда добавляетесь к диалогу и приводите аргументы первого комментария и зарабатываете так рейтинг. Другие ведутся и ставят вам плюсики. А что нибудь свое надо бы еще придумывать в вопросах.
                    0
                    А я вот не понимаю тех, кто не делает очевидных выводов и ждёт нового результат делая то же, что уже было отвергнуто. Но ещё пол беды, если автор новую статью клепает, хоть и с теми же недостатками, что и предыдущие. Вы же убрали заминосованную статью в черновик и опубликовали снова. Неужели ожидали, что в этот раз она плюсиков отхватит?

                    В прошлый раз я задал вам вопросы, но вразумительных ответов не поступило.

                    И да, рейтинг я так не зарабатываю :)
                      –2
                      Мне нужно прорекламировать свой сервис, хабр идеальное для этого место. Хабр хорошо индексируется и имеет умную аудиторию. На плюсики мне все равно. Не догадались.
                        0
                        Мне нужно прорекламировать свой сервис, хабр идеальное для этого место.

                        Таким образом вы честно говорите, что нарушаете правила хабра?
                        Реклама допустима только в корпоративных блогах и «я пиарюсь».

                        Хабр хорошо индексируется и имеет умную аудиторию.
                        и вот эта умная аудитория выражает своё мнение через минусы…
                          –2
                          это 10 минусов человек из 1k.
                          Не нарушаю, так как предоставил описание алгоритма, и в комментариях будет содержаться много полезной информации.
                            0
                            Нет, это -22 из 25. Остальные мимо прошли или закрыли статью, не увидев никакой пользы.

                            Нарушаете, т.к. то, что вы написали, не тянет на алгоритм.

                            И не будет в комментариях много полезной информации…
                  +1
                  Как там было «Если можешь не писать, не пиши»?
                    +3
                    1) А если у меня IP динамический?
                    2) Какой смысл писать, какие технологии используются, если не показан код, не показано сравнение по сложности написания, производительности и т.д. используемых технологий с аналогичными?
                    «Я написал вот это приложение на вот этом-то, этом-то с использованием вот такой-то библиотеки..» — И что? В чём ценность этой информации?
                      –3
                      1) Сейчас если динамический, можно переключиться на статический, но в будущем возможно я сделаю авторизацию на сервис.
                      2) Ценность в том что другие программисты могут попробывать реализовать такую систему с выбором именно таких технологий.
                        0
                        1 — и как в предлагаете переключаться на статический? Иметь один IP и для домашнего компа, и для рабочего, и для мобилы?

                        2 — другим программистам, как видно из комментариев, вообще не приходи идея делать такую систему. Не говоря уже про выбор того, на чём это делать…
                          –2
                          1 — купить у провайдера статический IP
                            0
                            и как это связано с моим вопросом?
                              –1
                              в будущем возможно я сделаю авторизацию, а пока можете купить статический IP для домашнего пк и смартфона.
                                –1
                                для рабочего компа тоже можете сделать статический IP т.к. там как правило другие закладки
                                  0
                                  Два ответа, и оба мимо.
                                  Первое, как заиметь один и тот же IP для всех указанных случаев?
                                  Второе, почему вы считаете, что мне не понадобится со смартфона найти то, что я в индекс добавил с домашнего компа?
                                  И третье, за какую ценность вашего продукта вы предлагаете мне платить деньги провайдерам?
                                  Ну и вишенкой на торт, четвёртый вопрос — если уж это мои страницы, то как уберечься от того, что кто-то другой, получивший тот же IP, в поиске найдёт мои страницы? Например, если к вам запрос через прокси попадает?
                                    –2
                                    Прокси через ваш комп :)
                                    Пока довольствуйтесь тем что есть.
                            0
                            Ценность в том что другие программисты могут попробывать реализовать такую систему с выбором именно таких технологий.

                            А что им мешало попробовать до вашей статьи?

                              –1
                              теперь попробуют многие
                                –1
                                теперь зная алгоритм и выбор технологий попробуют реализовать многие
                                  0
                                  Да нет у вас никакого интересного алгоритма, и выбор технологий весьма спорный.
                                  Если бы мне хотелось хранить странички для персонального поиска — я бы сделал решения на полнотекстовом поиске, да с доступом по ssl/ssh и с авторизацией этим же каналом. Да прикрутил бы сохранения страниц целиком в кэш.
                                  Если бы для себя — то и захостить можно дома с пробросом наружу через динамический dns.
                                  Хотел бы опубликовать — выложил бы в публичный репозиторий, вдруг бы кому и сгодилось.

                                    0
                                    Так сделайте посмотрим что у вас получится.
                                    Я бы да ка бы…
                                      0
                                      А зачем это делать? Мне это не интересно. Судя по комментариям — мало кому интересен такой продукт.
                                      Из того набора технологий, что я описал — я всё уже делал, тоже нет интереса.

                                      Я тут отвечал на «теперь зная алгоритм и выбор технологий попробуют реализовать многие».
                                        –2
                                        «Мало кому интересен» тоже нужно поддерживать и им это интересно, мне приятно, что хоть кто то заинтересовался и в будущем возможно создаст свой Яндекс или Google.
                                        Для вас это мало для меня это многие.
                                        Если вы сделали на базе своих технологий, то создайте свою статью и опишите ваш отличающийся алгоритм. Можете даже как вы хотели от меня, сами поделиться своими исходниками.
                                          0
                                          Да не будет на этой идее, и уж тем более технологиях, ни яндекса ни гугла. Ибо они решают понятные и полезные задачи, а какую большую пользу несёт ваш продукт — не понятно.
                                            –1
                                            Почитайте комментарии, там все доказано что вы лжете.
                                            Будет и Яндекс и Гугл, главно начните (это я обращаюсь к тем кто захочет сделать подобные поисковые системы). Они тоже начинали с малого.
                                              0
                                              Почитайте комментарии, там все доказано что вы лжете.

                                              Вы так дойдете до того, что все ваши оппоненты лгут. Это, конечно, удобная позиция, но непродуктивная — хорошо видно, что у вас нет аргументов в свою пользу.

                                    0

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


                                    И это не отвечает на вопрос, что же мешало людям сделать это все до вашей статьи.

                                      –3
                                      Теперь я описал простой алгоритм без описания реализации. Многие заинтересовались уже и захотят сделать я уверен.
                                      Если у вас есть свои представления о алгоритме, представления о реализации, то думаю хабру будет интересно почитать ваш алгоритм, скачать вашу реализацию, если же конешно вы захотите ею поделится. Так что пишите свою статью.
                                        +1
                                        Теперь я описал простой алгоритм без описания реализации.

                                        Это вы вот это имеете в виду?


                                        В качестве алгоритма поиска страниц используется поисковые запросы к базе данных MySQL. Для поиска предложений — предложения разбиваются на слова, слова приводятся в базовую форму морфологическим анализатором. Осуществляются поиски отдельных слов.

                                        Это не алгоритм, это, простите за прямоту, тривиальное решение, не имеющее никакой ценности.


                                        Многие заинтересовались уже и захотят сделать я уверен.

                                        Понятно, что "вы уверены", но вот только никаких оснований для того, чтобы утверждать, что "многие заинтересовались", у вас нет.


                                        Если у вас есть свои представления о алгоритме, представления о реализации

                                        Только после того, как станет понятна решаемая задача.


                                        думаю хабру будет интересно почитать ваш алгоритм

                                        Вы и про свою статью думали наверняка, что "будет интересно". Результат можно видеть в комментариях.

                                          –2
                                          1) Это вы вот это имеете в виду?
                                          Нет алгоритм это не только там где написано слово алгоритм.
                                          2) Почему же, многие это больше 1k просмотров и есть закладки, а комментарии сейчас пишут мне недовольные только 2 человека.
                                          3) Странно что вы до сих пор не поняли задачу. Смените экспертную систему.
                                          4) Всем интересно. Ваше негативное отношение это тоже интерес.
                                          Вы постоянно хвастаете своей реализацией, думаю хотите ею поделиться.
                                            0
                                            Нет алгоритм это не только там где написано слово алгоритм.

                                            Можете распространить на всю статью.


                                            Почему же, многие это больше 1k просмотров

                                            Просмотр не означает интереса к задаче.


                                            Странно что вы до сих пор не поняли задачу.

                                            Ничего странного, учитывая, как вы ее описываете.


                                            Всем интересно.

                                            Вам не удастся формально доказать это утверждение.


                                            Вы постоянно хвастаете своей реализацией

                                            Я? Нет, у меня нет никакой реализации для неизвестной задачи.

                                              –2
                                              Вы врете в каждом пункте. Скатились до вранья.
                                                0

                                                Докажите.

                                                –2
                                                Говорите про «Просмотр не означает интереса к задаче», про «неизвестную задачу», а ниже предлагаете пользоваться Pocket.
                                                Вы нагло врете. С врунами никто никогда не хочет связываться. Не пишите мне больше комментарии.
                                                  0
                                                  Говорите про «Просмотр не означает интереса к задаче», про «неизвестную задачу», а ниже предлагаете пользоваться Pocket.

                                                  Не предлагаю, а спрашиваю, чем ваше решение от него отличается.


                                                  Вы нагло врете.

                                                  Докажите.

                                0

                                Что значит "ваши страницы"? Любая, открытая в браузере? Конечно, кейс возможный, но кажущийся не очень частым, проще в таком случае сохранить в локальный каталог и искать тем же Far или поставить какой софт для локального поиска, для больших объёмов (вариант не-поиграться) в памяти всплавают слова CROS/CRONOS.
                                Расширений должно быть минимум, чтобы не было как в прошлый раз (куча расширений собирала "дополнительную" информацию).
                                Если же просто отправлять туда все страницы, чтобы не вспоминать что-то по любой теме, то для такого уже придуман Гугл.

                                  0
                                  «Придуман Гугл» — для поиска своих страничек это все равно плохой вариант, т.к. гуглу мешает выдать хороший результат чужие страницы. Гугл имеет огромную базу индексированных страниц поэтому свои теряются в этом массиве.

                                  «Ваши страницы» — да это любая открытая в браузере. FAR не умеет использовать поиск с морфингом (приведение слов в базовую форму). К тому же это не удобно разделять сервис на несколько инструментов (браузер, FAR, CROS/CRONOS).
                                    0
                                    А что такое вообще эти «свои странички»?
                                    То, что я делаю — скорее будет искаться другими способами — по локальной БД, по репозиторию и т.д.
                                    Если это то, что я открыл в браузере — так не факт, что вспомню, какие именно там были слова, а даже если и вспомню, не факт, что не окажется полезнее что-то более свежее, найденное гуглом.
                                      0
                                      В будущем я добавлю поиск по синонимам.
                                      «Окажется полезнее» — у системы своя полезность — это поиск именно по своим страницам.
                                        0

                                        Что такое "свои страницы", и чем это вообще лучше, чем Pocket?

                                          0
                                          Pocket по всей видимости не предоставляет полнотекстовый поиск по своим закладкам и страницам, не индексирует их.
                                            0

                                            У меня все прекрасно ищется.

                                              –1
                                              В вашем ключе мне стоило написать вам: «У меня это у кого? Что ищется?».
                                              В описании к сервису не указано что он предоставляет полнотекстовый поиск, написано только сохранение.
                                                  –1
                                                  Premium — а у меня все бесплатно. Вы сами то купили премиум? Я и знать такой сервис не знал, не удивительно и доказано теперь что вы врете в комментарии выше, раз знаете про задачу и интерес к данным видам сервиса.
                                                    +1
                                                    Premium — а у меня все бесплатно.

                                                    Это, скажем так, неправда. Бесплатно, если пользоваться вашим сервисом, который не предоставляет никаких гарантий (включая гарантию конфиденциальности данных), и совершенно не бесплатно, если делать самому.


                                                    Вы сами то купили премиум?

                                                    Да.


                                                    доказано теперь что вы врете в комментарии выше

                                                    Нет, не доказано. Прочитайте внимательно, что я пишу выше:


                                                    Что такое "свои страницы", и чем это вообще лучше, чем Pocket?
                                                      –1
                                                      Гарантий действительно не предоставляю. Все странички я буду сохранять у себя на сервере и могу ими пользоваться как захочу, думаю такие же правила у Pocket.
                                                      Выше все доказано про вашу ложь.
                                                      Нагло пользоваться подобным сервисом и не понимать смысл и ценность задачи.
                                                      У меня свой алгоритм так что я не знал об этом сервисе.
                                                      Но на этом тоже спасибо за ссылку, просто стоило сразу ею поделиться.
                                                        0
                                                        думаю такие же правила у Pocket.

                                                        Нет.


                                                        Выше все доказано про вашу ложь.

                                                        Нет.


                                                        Нагло пользоваться подобным сервисом и не понимать смысл и ценность задачи.

                                                        Я понимаю смысл Pocket, и именно поэтому им пользуюсь. Я не понимаю смысла вашего сервиса: если он эквивалентен Pocket, то зачем нам второй Pocket, если он отличается, то не понятно, чем.

                                                          –2
                                                          Нет. Нет. А сказать уже нечего. Простое отрицание.
                                                          Я даже не знал про ваш аналогичный сервис и вы уже говорите что он не аналогичен, а зачем вы тогда его привели упоминание. Так всегда бывает, вы стали противоречить сами себе, а все из за того что постоянно лжете.
                                                            0
                                                            А сказать уже нечего. Простое отрицание.

                                                            По ссылкам ходить не пробовали, я так понимаю.


                                                            вы уже говорите что он не аналогичен

                                                            Я не говорю, что он аналогичен. Я спрашиваю, аналогичен ли он.

                                                              –2
                                                              Зачем вы спрашиваете меня? Вы сами знаете ответ, что именно аналогичен, именно поэтому вы и спросили.
                                                                0
                                                                Зачем вы спрашиваете меня?

                                                                Чтобы понять, в чем "новизна и полезность" вашего сервиса. Пока получается, что ни в чем.

                                        0
                                        Добавил поиск по синонимам — можете пользоваться
                                        0
                                        Почему же, многие это больше 1k просмотров и есть закладки

                                        Они точно от интереса закладки, а не для "поржать"? Тем более обновление — просмотр, почитать как вы извиваетесь со своим "вывсёврёти". Впрочем, это достаточно уныло, без огонька.


                                        для поиска своих страничек это все равно плохой вариант

                                        Что есть "своя страничка"? Если я ищу информацию по теме — я смотрю страницу, если надо отложить — осталвяю вкладку или делаю закладку, иначе смотрю её полезность и использую информацию оттуда (или откидываю), нужное запоминаю и(или) сразу применяю. Если я пишу статю, то я тоже делаю закладку, чтобы внимательно перечитать, закладку в нужной папке, не кидаю в кучу в индекс статьи про гигантских панд, C++, космос и викинг паэр метал — это лишено смысла, придётся искать по ключевым словам и фразам. Если это что-то из текущей области, с которой приходится работать, то есть справочники и гугл для редких вопросов (которые посмотрел-запомнил-использовал, а не тащил в кучу). Напоминает коллекционирование. Кейса "свалить всё в кучу, потом там искать" не вижу. И, похоже, не только я.

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                    Самое читаемое