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:
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 reindex
comando 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).