Николай, приветствую!
Ты часто имеешь дело с крупными сайтами. Помоги, пожалуйста, советом. Каким образом лучше реализовать «теги» на сайте для оптимального быстродействия на относительно большом объеме документов? Допустим 10 000 ресурсов. Чтобы выборки были побыстрее.
Теги без авто дополнения. Есть список из 200 тегов и у каждого ресурса будет 1 или несколько тегов из списка.
Иван, привет!
Иван, тебе попроще или посложнее? :)
Если попроще, то в свое время на modx.pro описывал вполне годный вариант: https://modx.pro/development/7236-pdofetch-search-in-tv-fields-with-the-delimiter/ Можешь еще туда приплести вот этот способ расширения таблиц и плагин https://habrahabr.ru/post/253737/ и сможешь хранить исходные значения в TV-поле, но значения для поиска в самой таблице документа (будут выборки быстрее идти).
Если посложнее, то можешь глянуть реализацию в NewsModxBox.
Вот процессор выборки самих тегов: https://github.com/MODX-Club/NewsModxBox/blob/master/core/components/modxsite/processors/web/resources/tags/getdata.class.php
Вот выборка документов с поиском по тегам: https://github.com/MODX-Club/NewsModxBox/blob/master/core/components/modxsite/processors/web/resources/getdata.class.php#L57-L62
Спасибо за развернутый ответ! Думаю, что первый вариант - самое оно. Нагрузка очень большая не планируется.
Не за что!
Да, 10 000 документов - это не много.
UPD: перенес более расширенный комментарий в отдельный топик: https://modxclub.ru/topics/proizvoditelnost-sql-zaprosov-na-bolshix-sajtax-2596.html