Descripción general
Fess guarda sus datos en OpenSearch. El parámetro search_engine.type indica a Fess con qué tipo de OpenSearch está conectado. De ello dependen las definiciones de índice que Fess crea y las funciones que ofrece.
Con el valor predeterminado, default, Fess espera un OpenSearch que tenga instalados los cuatro plugins de CodeLibs (opensearch-analysis-fess, opensearch-analysis-extension, opensearch-minhash y opensearch-configsync; consulte Selección del Método de Instalación). Para conectarse a un OpenSearch puro sin estos plugins, por ejemplo un servicio gestionado en el que no puede instalar plugins propios, establezca el valor vanilla.
Tipos
| Valor | Descripción |
|---|---|
default | OpenSearch con los plugins de CodeLibs. Es el valor predeterminado. |
vanilla | Un OpenSearch puro sin los plugins de CodeLibs. Novedad de la versión 15.9. Las definiciones de índice se leen de fess_indices/_vanilla/. Fess 15.8 y anteriores no reconocen este valor; con ellas utilice cloud. |
aws | Igual que vanilla, pensado para Amazon OpenSearch Service. Consulte Amazon OpenSearch Service. |
cloud | Un alias obsoleto de vanilla. Fess registra una advertencia al iniciarse. Cámbielo a vanilla. |
| Cualquier otro valor | Se trata como default, con la diferencia de que los archivos de definición de fess_indices/_<tipo>/ tienen prioridad sobre los archivos del mismo nombre de fess_indices/. |
Fess no detecta los plugins automáticamente; usted establece el tipo. Establézcalo antes del primer inicio. Las definiciones de índice se aplican al crear un índice, por lo que cambiar el valor más adelante no modifica los índices que ya existen.
Funciones no disponibles sin los plugins
Con vanilla y aws (incluido el obsoleto cloud) no están disponibles las siguientes funciones. Los elementos de la pantalla de administración que dependen de ellas se ocultan.
Gestión de diccionarios: [Sistema > Diccionario] se oculta. Las páginas de diccionarios y la API de administración de diccionarios (
/api/admin/dict/) no se pueden utilizar. También se ocultan «Restablecer diccionarios» y «Recargar índice de documentos» de la página Mantenimiento. Los analizadores utilizan las reglas incluidas en la definición del índice, no archivos de diccionario.Contracción de resultados: «Contraer resultados duplicados» de General se oculta y la contracción está siempre desactivada.
Detección de duplicados: no se calcula la firma de contenido que sirve para encontrar documentos con el mismo contenido. La pestaña «Duplicados» del Informe de documentos se oculta (el informe de documentos inactivos sigue disponible) y el parámetro de búsqueda
sdh(documentos similares) se ignora.Analizadores: el japonés, el coreano y el chino simplificado se segmentan con los analizadores Kuromoji, Nori y SmartCN de OpenSearch en lugar de con los tokenizadores de CodeLibs, por lo que los tokens difieren de los de
default. El vietnamita (campos*_vi) y el chino tradicional (campos*_zh-tw) usan un analizador vacío que no registra ningún término. Los documentos en estos idiomas siguen indexándose en los campos independientes del idiomacontentytitle.
Plugins de OpenSearch necesarios
Las definiciones de índice de vanilla y aws utilizan analizadores y un tipo de campo vectorial que proporcionan plugins oficiales de OpenSearch. El OpenSearch al que se conecte debe tener estos plugins:
analysis-kuromojianalysis-norianalysis-smartcnopensearch-knn(k-NN)
Los plugins de CodeLibs no son necesarios. En un OpenSearch que usted mismo administra, instale un plugin con opensearch-plugin install, por ejemplo bin/opensearch-plugin install analysis-nori. Para Amazon OpenSearch Service, consulte Amazon OpenSearch Service.
Cuando el tipo es vanilla o aws, Fess enumera los plugins instalados (GET /_cat/plugins) al iniciarse. Si falta alguno de los plugins anteriores, registra una advertencia que nombra los plugins que faltan y continúa con el inicio. Si la solicitud falla, por ejemplo porque el servicio no la permite, se omite la comprobación.
Cómo establecer el tipo
Docker
Establezca la variable de entorno SEARCH_ENGINE_TYPE en el servicio fess01 de compose.yaml:
vanilla se puede usar con imágenes de Fess 15.9 o posteriores. Con una imagen anterior, establezca SEARCH_ENGINE_TYPE=cloud. Para el resto de la configuración de Docker, consulte Instalación con Docker (Detalles).
Nota
En las imágenes 15.8 de Fess, solo la variante -noble (por ejemplo, ghcr.io/codelibs/fess:15.8.0-noble) transmite SEARCH_ENGINE_TYPE a Fess. La imagen predeterminada de 15.8 (basada en Alpine) escribe el valor en /etc/default/fess, pero no se lo pasa a la JVM como -Dfess.config.search_engine.type, por lo que el ajuste no tiene efecto. A partir de la 15.9, la imagen predeterminada también lo respeta.
Instalaciones sin Docker
bin/fess.in.sh no lee SEARCH_ENGINE_TYPE. Utilice en su lugar una de las siguientes opciones.
Escriba
search_engine.typeenfess_config.properties(app/WEB-INF/classes/fess_config.propertiesen la edición ZIP,/etc/fess/fess_config.propertiesen las ediciones RPM y DEB).Añada una opción de JVM a
FESS_JAVA_OPTSenbin/fess.in.shde la edición ZIP (bin\fess.in.baten Windows).
Reinicie Fess después del cambio. El rastreador y los demás procesos de trabajos reciben el ajuste de Fess, por lo que no hace falta establecerlo por separado para ellos.
Configuración de la conexión
La conexión con OpenSearch se configura igual que con cualquier otro tipo.
| Parámetro | Descripción |
|---|---|
search_engine.http.url | El punto de conexión HTTP de OpenSearch. Si está definida la variable de entorno SEARCH_ENGINE_HTTP_URL, tiene prioridad. |
search_engine.username / search_engine.password | El nombre de usuario y la contraseña para la autenticación HTTP Basic. Solo se utilizan si se establecen ambos. En Docker, utilice las variables de entorno SEARCH_ENGINE_USERNAME y SEARCH_ENGINE_PASSWORD. |
search_engine.http.ssl.certificate_authorities | La ruta de un archivo de certificado de CA (X.509) que se utiliza para verificar el certificado del servidor de un punto de conexión HTTPS. No hace falta si el certificado lo emitió una CA en la que Java ya confía. |
Un elemento de fess_config.properties también se puede indicar como -Dfess.config.<nombre del elemento> en FESS_JAVA_OPTS (consulte Instalación con Docker (Detalles)).
Amazon OpenSearch Service
Para usar un dominio de Amazon OpenSearch Service, establezca search_engine.type en aws (vanilla se comporta igual).
Requisitos
El dominio ejecuta OpenSearch 3.x. Fess comprueba el motor al iniciarse y no arranca con nada que no sea OpenSearch 3.
Los plugins indicados en «Plugins de OpenSearch necesarios» están disponibles en el dominio. En Amazon OpenSearch Service, Nori es un paquete opcional: asócielo al dominio antes de iniciar Fess.
El punto de conexión utiliza HTTPS.
El control de acceso detallado (fine-grained access control) está habilitado y dispone de un usuario interno con el que Fess inicia sesión (autenticación HTTP Basic). Todavía no se admite firmar las solicitudes con credenciales de AWS IAM (SigV4), por lo que no se puede usar un dominio que solo acepte solicitudes firmadas con IAM.
Ejemplo de configuración
Comprobaciones al iniciar
La comprobación de plugins descrita en «Plugins de OpenSearch necesarios» también se ejecuta con
aws. Si olvidó asociar Nori, aparece una advertencia enfess.log.Si el dominio rechaza una solicitud con HTTP 401 o 403, Fess registra una advertencia. Cuando esto provoca que el inicio falle, el mensaje de error remite al nombre de usuario, la contraseña y la política de acceso del dominio.
TTL de la caché DNS
El punto de conexión de un servicio gestionado puede resolverse a direcciones IP distintas con el tiempo, y la JVM guarda en caché el resultado de una consulta DNS. Un tiempo de caché corto permite que Fess siga ese cambio. Establezca -Dsun.net.inetaddr.ttl=5 (segundos) en los dos lugares siguientes.
El proceso de Fess: añádalo a
FESS_JAVA_OPTS.Los procesos de trabajos: los procesos del rastreador, de sugerencias, de chunk y de miniaturas los inicia Fess como JVM independientes y no heredan
FESS_JAVA_OPTS. Añada la misma opción al final dejvm.crawler.options,jvm.suggest.options,jvm.chunk.optionsyjvm.thumbnail.optionsenfess_config.properties. Cada uno de estos valores tiene una opción por línea, y cada línea termina en\n\.Añada la línea después de las existentes y haga lo mismo con los otros tres elementos.
En Docker, indique FESS_JAVA_OPTS en las variables de entorno del archivo Compose. Para cambiar los elementos jvm.*.options, monte un fess_config.properties modificado (consulte Instalación con Docker (Detalles)).