+3
Lokið

Реализация поиска и системы тегов

seraph 13 ár síðan updated by Che 13 ár síðan 2

   Реализация поиска как на рутрекере, то бишь порядок слов в поисковом запросе не имеет значения, работают команды +, -, *, "" и можно сортировать раздачи по количеству скачиваний, знаки препинания не учитываются (часто сталкивался с тем, что люди либо забывают их ставить, либо ставят лишние, а т.к. поисковик рассматривает запрос строго, это все влияет на результат, и приходится порой перебирать варианты)


   Хорошо бы улучшить систему тегов (категорий) так чтобы для каждого тега можно было выбрать "и", "или", "не" (по умолчанию стоит "или"), а сами теги распологались в осмысленном порядке, то бишь (к примеру для категории фильмов) жанр (боевики, комедии, ужасы и.т.д. в алфавитном порядке), разрешение ("ниже", 720p, 1080p), тип видеофайла (bluray, bdrip, hdrip, dvdrip, dvd, webrip, camrip, tvrip  итд).

   Как же тогда будет выглядеть поиск если я буду пользоваться системой тегов?


выбираю:

- категорию "фильмы"

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

- тег разрешения (допустим есть 720p 1080p и "ниже") ставлю "не" ниже, что значит будут отображаться фильмы с тегами 720p 1080p

- тег типа видеофайла выбирается аналогично

- тег статуса раздачи (активная/проверена, мертвая/закрыта, золотая, серебряная, без сидов)


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

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

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

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

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

   В своем посте я упустил ошибку в описании системы меток ("и", "или" и "не") для тегов.


   Необходимо исходить из того, что есть некое множество объектов с разными тегами: главное - это ограничение по отображению тех или иных тегов.

   Изначально отображаются все, то бишь должна стоять некая дефолтная метка (ошибка была моя в том, что условное название "или" для метки тега нам еще понадобится, вообще нужно на одну метку больше чем я указал ранее).

   Далее необходимо чтобы только для какого то конкретного тега отображались объекты его имеющие, для этого должна быть своя метка (допустим "и").


отображается множество объектов этого тега

   Допустим у нас есть еще один тег, необходимо же отобразить объекты, каждый из которых имел бы "и" предыдущую метку, "и" этот тег. Здесь та же метка "и" подходит,[отображается пересечение множеств этих тегов]

  Но это пересечение, а сейчас нам нужны объекты имеющие "или" первый тег "или" второй. Для этого понадобится своя метка тега, ее можно назвать "или".


отображается "объединение" множеств этих тегов

  Конечно же будет полезна метка тега "не" для исключения того или иного тега (для наглядности пусть будет третим).


отображается, например, все "множество об. одного тега"/"пересечение"/"объединение" первого и второго тегов, НО БЕЗ ТРЕТЬЕГО ТЕГА, то есть фактически "разность"

  Так как я не пишу сайты, мне трудно представить насколько это реализуемо, но есть и упрощенные варианты:

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

  2. системы в которых не работают одновременно "и" и "или", на сайте Fantlab.ru при поиске по жанрам в самом низу страницы ты выбираешь как будут вести себя все метки выбора (либо будут работать как "и" либо как "или").


вооооот. =)

 

Answer
Lokið