De fábrica, el panel de control de Joomla! sólo permite buscar artículos por título. Esto es algo limitante ya que a veces necesitamos buscar artículos según su contenido. Aunque existen muchas extensiones para Joomla! que proveen esta funcionalidad (poder buscar artículos por tag, contenido, autor), es más rápido y fácil conectarse directamente a la base de datos MySQL y ejecutar una simple consulta SQL.
En el CMS Joomla! los artículos se almacenan en la tabla "content":
mysql> describe XXXX_content; +------------------+---------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------------------+------+-----+---------------------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | asset_id | int(10) unsigned | NO | | 0 | | | title | varchar(255) | NO | | | | | alias | varchar(255) | NO | | | | | introtext | mediumtext | NO | | NULL | | | fulltext | mediumtext | NO | | NULL | | | state | tinyint(3) | NO | MUL | 0 | | | catid | int(10) unsigned | NO | MUL | 0 | | | created | datetime | NO | | 0000-00-00 00:00:00 | | | created_by | int(10) unsigned | NO | MUL | 0 | | | created_by_alias | varchar(255) | NO | | | | | modified | datetime | NO | | 0000-00-00 00:00:00 | | | modified_by | int(10) unsigned | NO | | 0 | | | checked_out | int(10) unsigned | NO | MUL | 0 | | | checked_out_time | datetime | NO | | 0000-00-00 00:00:00 | | | publish_up | datetime | NO | | 0000-00-00 00:00:00 | | | publish_down | datetime | NO | | 0000-00-00 00:00:00 | | | images | text | NO | | NULL | | | urls | text | NO | | NULL | | | attribs | varchar(5120) | NO | | NULL | | | version | int(10) unsigned | NO | | 1 | | | ordering | int(11) | NO | | 0 | | | metakey | text | NO | | NULL | | | metadesc | text | NO | | NULL | | | access | int(10) unsigned | NO | MUL | 0 | | | hits | int(10) unsigned | NO | | 0 | | | metadata | text | NO | | NULL | | | featured | tinyint(3) unsigned | NO | MUL | 0 | | | language | char(7) | NO | MUL | NULL | | | xreference | varchar(50) | NO | MUL | NULL | | +------------------+---------------------+------+-----+---------------------+----------------+ 30 rows in set (0.00 sec)
Esta tabla posee una gran cantidad de columnas, pero las que nos interesan son las columnas "title", que almacena el título de cada artículo, y "fulltext", que guarda el contenido de los mismos.
Para buscar artículos por contenido entonces es posible ejecutar la siguiente consulta SQL:
select title from XXXX_content where XXXX_content.fulltext like '%systemd%';
Esta consulta busca en el contenido de los artículos de acuerdo a una palabra clave: systemd.
El caracter %
se utiliza como un comodín que coincide con cualquier número de caracteres aleatorios (0 ó más).
mysql> select title from XXXX_content where XXXX_content.fulltext like '%systemd%'; +---------------------------------------------------------------------------------------------------------+ | title | +---------------------------------------------------------------------------------------------------------+ | ¿Quién es init? | | Virtualización con KVM en Linux: cómo compilar e instalar QEMU+libvirt+virt-manager desde los fuentes | | Cómo instalar CentOS 7 con KDE | | ¿Qué hacer después de instalar CentOS 7 (con KDE)? | | Mi primer contacto con FirewallD | | Dando los primeros pasos con Gentoo | | ¿Por qué SystemD es una mierda? | | Lo más leído de septiembre 2014 | | Bash: cómo obtener los códigos de retorno de todos los procesos en un pipeline | | Lo más leído de octubre 2014 | | ¿Por qué los sysadmins detestamos a systemd? | | Lo más leído de noviembre 2014 | | El bazar se ha convertido en catedral | | Resumen de 2014 | | Probando la pre-alpha release de Devuan (Debian Jessie libre de systemd) | | Resumen de enero y febrero 2014 | | Cómo convertir un Debian 8 "Jessie" en Devuan | | Desarrolladora del kernel Linux abandona la comunidad por considerarla tóxica | | La invasión de systemd en el espacio de servidores Linux | | Cómo obtener un certificado SSL gratis de Let's Encrypt | | Resumen de 2015 | | Agregan PulseAudio en Slackware 14.2 beta 1 | +---------------------------------------------------------------------------------------------------------+ 22 rows in set (0.03 sec)
Y luego dicen que odio systemd, 22 artículos le he dedicado :)
Referencias
MySQL 5.7 Reference Manual - String Comparison Functions
Tal vez pueda interesarte