Adicione a pesquisa de texto completo do Elasticsearch ao Nextcloud.

Para pesquisar o conteúdo de arquivos no Nextcloud, instale o framework de pesquisa de texto completo, o aplicativo da plataforma Elasticsearch e o provedor de Arquivos; em seguida, conecte os aplicativos a um servidor Elasticsearch 8 compatível e crie o índice. Isso adiciona texto pesquisável aos documentos, mas também adiciona um serviço separado para proteger, monitorar e manter. O README do conector atual identifica o Elasticsearch 8 como a versão principal compatível, portanto, verifique a compatibilidade com a versão do aplicativo instalado antes de selecionar uma versão específica do Elasticsearch.

Escolha a configuração que melhor se adapta ao seu servidor.

O Elasticsearch ajuda os usuários a encontrar palavras dentro de documentos, além de nomes de arquivos e metadados básicos. A contrapartida é um serviço adicional para proteger e manter, além do uso de memória, disco e CPU durante a indexação. Uma nuvem pequena pode não justificar essa sobrecarga; uma equipe com grande volume de documentos pode achar que a busca de conteúdo vale o custo.

A integração é composta por três aplicativos: a Busca de Texto Completo coordena o provedor e a plataforma, o Elasticsearch conecta a estrutura ao mecanismo de busca e o Files fornece o conteúdo dos arquivos. Apenas um aplicativo de plataforma pode ser selecionado por vez. Consulte o README da estrutura e o README do provedor Files .

Estes exemplos do Linux usam caminhos e www-datacontas do Debian ou Ubuntu. Ajuste os caminhos e os usuários de serviço para contêineres ou outras distribuições.

1. Confirme a compatibilidade e prepare o Elasticsearch.

Verifique as versões do Nextcloud e do aplicativo antes de instalar o Elasticsearch. O arquivo README do conector indica que, a partir da versão 26.0.0 do aplicativo, ele é compatível com o Elasticsearch 8. Não presuma que o Elasticsearch 9 seja compatível apenas por ser mais recente; consulte o arquivo README do conector e o guia de instalação para verificar a sua versão.

Instale o Elasticsearch seguindo as instruções da Elastic para o seu sistema operacional e a versão principal compatível. O pacote Debian da Elastic inclui o OpenJDK, portanto, normalmente não é necessária uma instalação separada do Java para esse pacote. Consulte a documentação de instalação do pacote Debian da Elastic . Mantenha o Elasticsearch acessível apenas a partir do host do Nextcloud ou da rede privada do aplicativo, a menos que sua arquitetura exija o contrário. O Elasticsearch 8 habilita recursos de segurança durante a configuração do pacote; mantenha a autenticação e o TLS para implantações em rede e nunca exponha um endpoint de pesquisa não autenticado à internet pública.

Após o serviço iniciar, teste o endpoint localmente usando o esquema e as credenciais definidas durante a instalação. Para uma instância local segura, uma requisição pode ser semelhante a esta curl --cacert /path/to/http_ca.crt -u elastic https://localhost:9200: `<caminho_do_example.com>`; digite a senha quando solicitado, em vez de salvá-la no histórico do shell. Use o certificado da CA gerado para sua instalação, não o caminho padrão. Uma resposta bem-sucedida deve identificar o nó e a versão do Elasticsearch. Se essa verificação falhar, corrija o serviço, a confiança no certificado ou as credenciais antes de configurar o Nextcloud.

2. Instale os aplicativos de busca do Nextcloud.

Use a página de Aplicativos do Nextcloud para instalar e ativar a Pesquisa de texto completo , a Pesquisa de texto completo - Plataforma Elasticsearch e a Pesquisa de texto completo - Arquivos . Você também pode usar occo `nextcloud`, a ferramenta de administração de linha de comando do Nextcloud, a partir do diretório de instalação do Nextcloud. Em uma instalação Debian ou Ubuntu, o padrão é:

cd /var/www/nextcloud
sudo -E -u www-data php occ app:install fulltextsearch
sudo -E -u www-data php occ app:install fulltextsearch_elasticsearch
sudo -E -u www-data php occ app:install files_fulltextsearch

Use a conta HTTP da sua distribuição e siga as orientações do Nextcloud para o comando `occ` . Se um aplicativo estiver instalado, mas desativado, use o comando ` occ app:enable APP_ID. Mantenha os três aplicativos compatíveis com a sua versão do Nextcloud.

3. Configure a plataforma e o provedor de arquivos.

Abra as configurações de administrador e selecione a seção "Pesquisa de texto completo". Escolha o Elasticsearch como plataforma de pesquisa e, em seguida, insira o endereço do servlet do Elasticsearch, um nome de índice e quaisquer credenciais de conexão ou configurações de certificado necessárias, expostas pela versão do conector instalada. O endereço deve ser acessível a partir do processo do servidor Nextcloud. Se ambos os serviços estiverem em execução na mesma rede de contêineres, localhostgeralmente o endereço aponta para o próprio contêiner do Nextcloud, e não para o contêiner do Elasticsearch; use o nome do serviço Elasticsearch ou o nome de host interno.

Use um nome de índice em minúsculas, como nextcloud`<nome_do_índice>`; atribua um índice separado a cada nuvem caso elas compartilhem um serviço. Nomes separados facilitam a administração, mas não substituem os controles de acesso. Mantenha as credenciais fora de capturas de tela, tickets e histórico do shell.

Nas configurações do provedor de Arquivos, habilite a indexação para os tipos de arquivo e o intervalo de tamanho que seus usuários precisam. O conteúdo pesquisável depende do provedor e do suporte à extração; indexar apenas os nomes dos arquivos não tornará o texto dentro de um PDF pesquisável. O processador de anexos do Elasticsearch extrai texto de formatos de arquivo comuns, como PDF e documentos do Office, mas existem limites de extração e formatos suportados. No Elasticsearch 8, a funcionalidade de ingestão de anexos está incluída na distribuição; consulte a referência do processador de anexos do Elasticsearch . Para digitalizações ou imagens, a extração de texto comum do documento não é OCR: adicione um provedor de OCR somente se precisar dessa funcionalidade e tiver verificado seus requisitos. Mantenha os limites de tamanho de arquivo conservadores em um servidor com recursos limitados.

4. Crie o índice e mantenha-o atualizado.

Execute uma verificação de integridade antes de indexar. No diretório do Nextcloud, use:

sudo -E -u www-data php occ fulltextsearch:check

Primeiro, resolva os erros relatados de conexão, plataforma ou provedor. Em seguida, inicie a indexação inicial:

sudo -E -u www-data php occ fulltextsearch:index

A primeira execução percorre os arquivos dos usuários selecionados e pode demorar bastante. Mantenha a sessão SSH estável ou execute o comando em um multiplexador de terminal, como o `ssh` tmux, e monitore o uso de CPU, memória e espaço em disco. A indexação copia o texto extraído e os metadados dos arquivos para o Elasticsearch; ela não substitui os backups do Nextcloud. Planeje proteger o índice de pesquisa e suas credenciais, e lembre-se de que excluir ou reconstruir o índice pode exigir uma nova execução completa da indexação.

Para atualizações contínuas, certifique-se de que as tarefas em segundo plano do Nextcloud sejam executadas de forma confiável. O projeto também documenta um fulltextsearch:liveworker para indexação quase imediata; ele pode reduzir o atraso na atualização, mas adiciona um serviço para supervisionar. Comece com tarefas agendadas e adicione o worker somente se o atraso for um fator importante. Adapte o exemplo de serviço upstream aos seus caminhos, conta e ordem de inicialização do banco de dados.

Verifique o resultado e escolha a sua opção.

Após a conclusão da indexação, procure por uma frase distintiva que apareça dentro de um pequeno documento de teste, mas não em seu nome de arquivo. Confirme se o Nextcloud retorna o arquivo esperado para um usuário que tenha permissão para lê-lo. Em seguida, carregue ou edite um segundo documento de teste, permita que a tarefa em segundo plano configurada ou o worker ativo seja executado e repita a pesquisa. Uma verificação de status bem-sucedida por si só não comprova que o conteúdo do arquivo foi indexado.

Se apenas os nomes dos arquivos forem exibidos, verifique o provedor de arquivos, as configurações de tipo e tamanho de arquivo, o suporte à extração e os logs de indexação. Para falhas de conexão, verifique o endpoint da rede do Nextcloud, a confiança TLS e as credenciais.

Escolha o Elasticsearch quando a busca por conteúdo for valiosa o suficiente para justificar a manutenção de outro serviço com estado. Se a busca por nome de arquivo for suficiente, ignore esse recurso adicional e a sobrecarga de segurança. Antes de atualizações em produção, verifique a combinação exata de Nextcloud, aplicativo e Elasticsearch; esta configuração não garante suporte para todos os métodos de implantação.

Deixar um comentário

Habilite a criptografia do lado do servidor do Nextcloud com impacto mensurável.

Configure o Nextcloud SSE para o armazenamento que precisa dele, proteja as chaves de criptografia e meça o impacto na transferência e na CPU antes de criptografar os arquivos existentes.

Adicione a pesquisa de texto completo do Elasticsearch ao Nextcloud.

Conecte a busca de arquivos do Nextcloud ao Elasticsearch, indexe o conteúdo dos documentos e escolha uma configuração que se adapte às suas necessidades de servidor e segurança.

Defina uma política de expiração confiável para arquivos excluídos do Nextcloud.

Defina uma política de expiração confiável para arquivos excluídos do Nextcloud.

Configure o Nextcloud para remover arquivos excluídos após um período de retenção definido, agendar tarefas em segundo plano de forma confiável e evitar comandos que esvaziam a lixeira de todos os usuários.

Limpar aviso de índices de banco de dados ausentes do Nextcloud

Limpar aviso de índices de banco de dados ausentes do Nextcloud

Execute o reparo do OCC do Nextcloud com segurança, visualize as alterações no banco de dados e verifique por que o aviso pode persistir.

Aumente o limite de upload da web do Nextcloud para além de 2 GB.

Aumente o limite de upload da web do Nextcloud para além de 2 GB.

Permita uploads maiores pelo navegador Nextcloud alinhando as configurações de PHP, Nginx ou Apache, armazenamento temporário e tempo limite — e verifique qual limite está bloqueando o arquivo.

Limpar o aviso de memória PHP do Nextcloud no servidor web

Defina o limite de memória PHP que o Nextcloud realmente utiliza, reinicie o serviço correto e confirme a configuração de 512 MB na Visão Geral do Administrador.

Conecte um bucket compatível com S3 ao armazenamento externo do Nextcloud.

Monte um bucket de armazenamento de objetos compatível no Nextcloud usando seu backend S3, com o endpoint, as credenciais, o escopo de acesso e as etapas de verificação corretos.

Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.

Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.

Mova com segurança um diretório de dados do Nextcloud no Linux para uma unidade externa usando uma montagem UUID persistente, modo de manutenção, uma cópia verificada e o link simbólico do caminho original.

Erro no banco de dados do Nextcloud após uma atualização: o que verificar primeiro

Restaure o acesso ao Nextcloud após uma atualização, diagnosticando erros de SQL, verificando a conectividade do banco de dados e concluindo com segurança as migrações interrompidas.

Recupere a senha de administrador do Nextcloud perdida com o OCC

Utilize o comando OCC do Nextcloud para redefinir a senha de um administrador a partir do shell do servidor, com orientações sobre nomes de usuário, permissões e provedores de login externos.