Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Разработка системы поиска сайта. (https://javascript.ru/forum/events/55015-razrabotka-sistemy-poiska-sajjta.html)

Barett 10.04.2015 09:10

Разработка системы поиска сайта.
 
Доброго утра, дамы и господа.
Я могу ошибаться с выбором раздела, но это мой первый пост здесь :-? .
Надеюсь на вашу помощь. Нигде не нашел подобной документации и темы, но может быть, плохо искал. Только начал погружаться в детальное изучение веб-разработки, как тут же поступило задание "Создать поиск, как у Яндекса". Звучит достаточно размыто, но попытаюсь объяснить - разработать и прикрутить поиск контактов ко внутреннему сайту предприятия:
- при входе на страницу пользователя дружелюбно встречает строка поиска(html & css), куда будут вводиться начальные_данные/e-майл/номер_телефона, и в отдельном окошке (фрейм или лэйбл) будут мгновенно отображаться строки, содержащие введенные данные, так называемый мгновенный поиск. (Ctrl+F - не то, нужна бОльшая информативность). И при всем этом, чтобы отображались наиболее популярные у пользователя контакты, которыми он пользуется.
Я не прошу написать мне этот скрипт, но очень буду рад подсказке, куда мне рыть, где используется какие технологии и приемы. Вероятнее всего, будет удобней общаться в мессенджере, если кто будет готов мне помочь в объяснениях.
Благодарю, за уделенное внимание. :victory:

ksa 10.04.2015 09:20

Цитата:

Сообщение от Barett
куда мне рыть, где используется какие технологии и приемы

Начать можно с этого
http://javascript.ru/ajax/intro
Закончить этим
angular.ru

kostyanet 10.04.2015 16:54

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

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

Для серверов есть Сфинкс.

kostyanet 10.04.2015 17:01

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

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

Я еще помню как на альтависте и яндексе можно было искать по маскам, плюсам и минусам. Теперь остался только минус. Это ненадолго.

Суть вони в том, что если бы не эти козлоящеры, таких вопросов бы не возникло. Там же в два клика все делается - этот полнотекстовый поиск. Который нормализованный.

kostyanet 10.04.2015 17:04

Цитата:

Сообщение от Barett
(Ctrl+F - не то, нужна бОльшая информативность).

Балин, вы про поиск по странице что ли? Типа все уже загружено, надо только показать где оно?

Alexander Belov 16.04.2015 07:28

Цитата:

Сообщение от ksa (Сообщение 365859)
Начать можно с этого
http://javascript.ru/ajax/intro
Закончить этим
angular.ru

1) Можно ли реализовать такой поиск на нативном Javascript (вместо Angular.js)?

2) Можно ли обойтись без сервера? Например, все данные, которые будут доступны для поиска, сохраняются (либо удаляются) в отдельный файл в папке сайта на локальном компьютере (например search.json), и поиск будет вестись по содержимому этого файла?

ksa 16.04.2015 08:15

Цитата:

Сообщение от Alexander Belov
Можно ли реализовать такой поиск на нативном Javascript (вместо Angular.js)?

Так на чем Angular написан! На JS. :)
Цитата:

Сообщение от Alexander Belov
Можно ли обойтись без сервера? Например, все данные, которые будут доступны для поиска, сохраняются (либо удаляются) в отдельный файл в папке сайта на локальном компьютере (например search.json), и поиск будет вестись по содержимому этого файла?

И это можно... :yes:

Alexander Belov 16.04.2015 19:29

Цитата:

Сообщение от ksa (Сообщение 366931)
Так на чем Angular написан! На JS. :)

И это можно... :yes:

Я, наверное, не совсем верно выразился. Под "нативным javascript" я имел в виду стандартный код, а не фреймворк и не библиотеку. Т.е., например JQuery - это библиотека, созданная при помощи JS, но код JQuery не является нативным Javascript'ом.

Alexander Belov 18.04.2015 22:52

Barett,
может быть, пригодится. Наткнулся на такую замечательнейшую вещь в HTML5 как datalist
https://jsfiddle.net/8y9thaub/

ksa 20.04.2015 08:24

Цитата:

Сообщение от Alexander Belov
я имел в виду стандартный код

Любой путний программист имеет в своем арсенале функции, позволяющие ему облегчить работу...
Но даже если их нет, ему придется написать их в процессе разработки очередной задачи.

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


Часовой пояс GMT +3, время: 10:13.