Introducción
Apache Solr es una plataforma de búsqueda de código abierto escrita en Java. Solr proporciona búsqueda de texto completo, sugerencias de ortografía, ordenación y clasificación de documentos personalizados, generación de fragmentos y resaltado. Solr maneja una variedad de tipos de datos listos para usar, incluidos JSON, XML, muchos documentos de Office, CSV y más.
Solr está diseñado para escalabilidad y tolerancia a fallas. también se usa para casos de uso de análisis y búsqueda empresarial y tiene una comunidad de desarrollo activa y lanzamientos regulares.
Además, Solr es la popular plataforma de búsqueda empresarial de código abierto ultrarrápida basada en Apache Lucene.
Actualizar paquetes de software de Linux
Actualice los paquetes de software en su sistema operativo Linux.
# dnf update -y
Instalar OpenJDK
Apache Solr está escrito en Java, requiere Java Development Kit (JDK)
Así que estamos instalando OpenJDK 11 en el servidor Linux con el siguiente comando:
# dnf install -y java-11-openjdk
Así que OpenJDK se ha instalado en su servidor Linux.
Instalar Apache Solr
Puede descargar Apache Solr desde Github o desde el sitio web oficial para obtener la última versión.
Ahora mismo la última versión es solr-8.9.0
[root@unixcop ~]# wget https://downloads.apache.org/lucene/solr/8.9.0/solr-8.9.0.tgz
--2021-08-25 10:06:52-- https://downloads.apache.org/lucene/solr/8.9.0/solr-8.9.0.tgz
Resolving downloads.apache.org (downloads.apache.org)... 135.181.209.10, 135.181.214.104, 88.99.95.219, ...
Connecting to downloads.apache.org (downloads.apache.org)|135.181.209.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 202942547 (194M) [application/x-gzip]
Saving to: 'solr-8.9.0.tgz'
solr-8.9.0.tgz 100%[=======================================================================>] 193.54M 401KB/s in 8m 41s
2021-08-25 10:15:34 (380 KB/s) - 'solr-8.9.0.tgz' saved [202942547/202942547]
Extraiga el script de instalación del tarball descargado como se muestra a continuación.
[root@unixcop ~]# tar xzf solr-8.9.0.tgz solr-8.9.0/bin/install_solr_service.sh --strip-components=2
[root@unixcop ~]# ls
anaconda-ks.cfg install_solr_service.sh solr-8.9.0.tgz
[root@unixcop ~]#
Ejecute el script de instalación para instalar Apache Solr Search Server.
[root@unixcop ~]# ./install_solr_service.sh solr-8.9.0.tgz
We recommend installing the 'lsof' command for more stable start/stop of Solr
id: 'solr': no such user
Creating new user: solr
Extracting solr-8.9.0.tgz to /opt
Installing symlink /opt/solr -> /opt/solr-8.9.0 ...
Installing /etc/init.d/solr script ...
Installing /etc/default/solr.in.sh ...
Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh
*** [WARN] *** Your open file limit is currently 1024.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] *** Your Max Processes Limit is currently 3901.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.
Started Solr server on port 8983 (pid=15862). Happy searching!
Found 1 Solr nodes:
Solr process 15862 running on port 8983
{
"solr_home":"/var/solr/data",
"version":"8.9.0 05c8a6f0163fe4c330e93775e8e91f3ab66a3f80 - mayyasharipova - 2021-06-10 17:54:40",
"startTime":"2021-08-25T14:20:43.324Z",
"uptime":"0 days, 0 hours, 0 minutes, 19 seconds",
"memory":"79.9 MB (%15.6) of 512 MB"}
[root@unixcop ~]#
Esto creará una cuenta llamada solr en su sistema y finalizará el proceso de instalación.
Además, no se preocupe por la advertencia anterior, la resolveremos.
Instalar lsof según lo requiera Apache Solr.
# dnf install -y lsof
Habilite el servicio Solr usando el comando:
[root@unixcop ~]# systemctl enable solr
solr.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable solr
[root@unixcop ~]#
Verifique que el servicio de búsqueda de Solr se esté ejecutando en el puerto predeterminado 8983.
[root@unixcop ~]# ss -tulpn | grep 8983
tcp LISTEN 0 50 *:8983 *:* users:(("java",pid=15862,fd=153))
[root@unixcop ~]#
Debe definir los límites de seguridad según lo requiera Apache Solr Enterprise Search Server.
Así que edite el limits.conf archivo en el editor vim.
# vi /etc/security/limits.conf
Y agregue lo siguiente en este archivo.
solr soft nofile 65536
solr hard nofile 65536
solr soft nproc 65536
solr hard nproc 65536
Luego reinicie el servicio Solr
[root@unixcop ~]# service solr restart
Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 15862 to stop gracefully.
Waiting up to 180 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=16988). Happy searching!
[root@unixcop ~]#
También debe permitir el puerto 8983 (que usa solr) en el firewall.
[root@unixcop ~]# firewall-cmd --permanent --add-port=8983/tcp
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]#
Crear nueva colección Solr
Una colección es el grupo de núcleos que juntos forman un único índice lógico. Una colección tiene un conjunto diferente de archivos de configuración y definiciones de esquema que otras colecciones. Puede crear una colección ejecutando el siguiente comando:
[root@unixcop ~]# su - solr -c "/opt/solr/bin/solr create -c Unixcop_col1 -n data_driven_schema_configs"
Created new core 'Unixcop_col1'
[root@unixcop ~]#
Acceder al panel de administración de Solr
De forma predeterminada, el servidor Solr se ejecuta en el puerto 8983. Acceda al panel de control de Solr en su navegador web utilizando la dirección IP del servidor o el nombre de host con el puerto 8983.
http://dirección_ip:8983/
Puede ver las estadísticas de la colección creada llamada "Unixcop_col1". Haga clic en "Core Selector" y seleccione la colección creada.
Conclusión
En esta guía de instalación, ha aprendido a instalar Apache Solr Enterprise Server en CentOS/RHEL 8.