fts_solr para Dovecot: ¿no encuentras el archivo de complemento?

fts_solr para Dovecot: ¿no encuentras el archivo de complemento?

Estoy intentando seguir esto para configurar la búsqueda de Solr con mi instalación de Dovecot:

https://doc.dovecot.org/configuration_manual/fts/solr/#fts-backend-solr

Todo parece funcionar bien y puedo ver el núcleo en el administrador de Solr. Estoy usando Solr 8.9.0, pero parece contento con los archivos de configuración.

Sin embargo, uno de los comandos que dice ejecutar para realmente indexar:

doveadm fts rescan -u [email protected] 

Yo obtengo:

Fatal: Plugin 'fts_solr' not found from directory /usr/lib/dovecot/modules

Efectivamente, no veo nada con ese nombre:

root@east:/usr/lib/dovecot/modules# ls -lh *fts*
-rw-r--r-- 1 root root 263K Jul  7 17:17 lib20_fts_plugin.so
-rw-r--r-- 1 root root  71K Jul  7 17:17 lib21_fts_squat_plugin.so

¿Qué me estoy perdiendo? ¿Necesito instalar manualmente el complemento también?

dovecot --version
2.3.7.2 (3c910f64b)

ACTUALIZAR:Mirando a mi alrededor, puedo ver dovecot-fts-solr un complemento (https://alpine.pkgs.org/3.15/alpine-main-aarch64/dovecot-fts-solr-2.3.17.1-r0.apk.html). Parece que no puedo instalarlo. ¿No estás muy seguro de cómo proceder? (Podría simplemente descargar el archivo .so y ponerlo en /usr/lib/dovecot/modules , pero estoy bastante seguro de que no funcionará :))

ACTUALIZACIÓN 2:Entonces logré encontrar:

apt-get instalar palomar-solr

Esto crea el archivo lib21_fts_solr_plugin.so. Sin embargo, cuando intento volver a indexar los mensajes no obtengo nada:

doveadm -D fts rescan -u [email protected]
Debug: Loading modules from directory: /usr/lib/dovecot/modules
Debug: Module loaded: /usr/lib/dovecot/modules/lib20_fts_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib21_fts_solr_plugin.so
Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_deinit (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message)
Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just ignore this message)
Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so
Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message)
doveadm([email protected])<35131><>: Debug: auth-master: userdb lookup([email protected]): Started userdb lookup
doveadm([email protected])<35131><>: Debug: auth-master: conn unix:/var/run/dovecot//auth-userdb: Connecting
doveadm([email protected])<35131><>: Debug: auth-master: conn unix:/var/run/dovecot//auth-userdb: Client connected (fd=10)
doveadm([email protected])<35131><>: Debug: auth-master: userdb lookup([email protected]): auth USER input: [email protected] uid=1011 gid=8 home=/home/hatlamp quota_rule=*:storage=0M
doveadm([email protected])<35131><>: Debug: auth-master: userdb lookup([email protected]): Finished userdb lookup ([email protected] uid=1011 gid=8 home=/home/hatlamp quota_rule=*:storage=0M)
doveadm([email protected])<35131><>: Debug: Added userdb setting: plugin/quota_rule=*:storage=0M
doveadm([email protected]): Debug: Effective uid=1011, gid=8, home=/home/hatlamp
doveadm([email protected]): Debug: Namespace : type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/home/hatlamp/mail/hatlamp.com/hello
doveadm([email protected]): Debug: maildir++: root=/home/hatlamp/mail/hatlamp.com/hello, index=, indexpvt=, control=, inbox=/home/hatlamp/mail/hatlamp.com/hello, alt=
doveadm([email protected]): Debug: auth-master: conn unix:/var/run/dovecot//auth-userdb: Disconnected: Connection closed (fd=10)

En cuanto a la interfaz de Solr, no hay artículos:

ingrese la descripción de la imagen aquí

Respuesta1

Usarel índice FTS, luego verá los resultados en su backend fts.

Sincronizar el estado interno del contenido de texto completo enviado al motor FTS mediante el doveadm fts reindexcomando no necesariamente hace mucho por sí solo. En el caso delSolrvinculante, essimplemente mueve el cursorvolver a cero.

Esto elimina los correos del índice que ya han sido eliminados y garantiza que el próximo índice de doveadm indexará todos los correos faltantes (si los hay). Tenga en cuenta que actualmentela mayoría de los backends de FTS no implementan esto correctamente, sino que eliminan todos los índices de FTS. Esto puede cambiar en futuras versiones. -- dehombre doveadm-fts, énfasis mío

Solo cuando algo (emitir una búsqueda, publicar correo nuevo, manual doveadm index) activa la actualización del índicedespuésese comando, es cuando se envían los datos (en su caso, aSolr).

información relacionada