fts_solr para Dovecot - não consegue encontrar o arquivo do plugin?

fts_solr para Dovecot - não consegue encontrar o arquivo do plugin?

Estou tentando seguir isto para configurar a pesquisa do Solr com minha instalação do Dovecot:

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

Tudo parece funcionar bem - e posso ver o núcleo no administrador do Solr. Estou usando o Solr 8.9.0, mas parece satisfeito com os arquivos de configuração.

No entanto, um dos comandos que ele diz para executar para realmente indexar:

doveadm fts rescan -u [email protected] 

Eu recebo:

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

Com certeza, não vejo nada em nada com esse nome:

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

o que estou perdendo? Preciso instalar manualmente o plugin também?

dovecot --version
2.3.7.2 (3c910f64b)

ATUALIZAR:Olhando em volta, posso ver um plugin dovecot-fts-solr (https://alpine.pkgs.org/3.15/alpine-main-aarch64/dovecot-fts-solr-2.3.17.1-r0.apk.html). Não consigo instalá-lo. Não tem certeza de como proceder? (Eu poderia apenas baixar o arquivo .so e colocá-lo em /usr/lib/dovecot/modules , mas tenho certeza de que não funcionará :))

ATUALIZAÇÃO 2:Então consegui encontrar:

apt-get instalar dovecot-solr

Isso cria o arquivo lib21_fts_solr_plugin.so. No entanto, quando tento reindexar as mensagens, não recebo 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)

Olhando para a interface do Solr, não há artigos:

insira a descrição da imagem aqui

Responder1

Usaro índice FTS, então você verá os resultados em seu backend fts.

Sincronizar o estado interno do conteúdo de texto completo enviado ao mecanismo FTS por meio do doveadm fts reindexcomando não faz necessariamente muita coisa por si só. No caso dosolvinculativo, ésimplesmente move o cursorde volta a zero.

Isso remove os e-mails do índice que já foram eliminados e garante que o próximo índice doveadm indexará todos os e-mails ausentes (se houver). Observe que atualmentea maioria dos back-ends do FTS não implementam isso corretamente, mas em vez disso excluem todos os índices do FTS. Isso pode mudar nas versões futuras. -- dehomem pombadm-fts, ênfase minha

Somente quando algo (emitir uma pesquisa, postar novo e-mail, manual doveadm index) aciona a atualização do índicedepoisesse comando, é quando os dados são enviados (no seu caso, parasol).

informação relacionada