Adăugați căutarea full-text Elasticsearch în Nextcloud

Pentru a căuta în conținutul fișierelor în Nextcloud, instalați framework-ul de căutare Full text, aplicația sa pentru platforma Elasticsearch și furnizorul Files; apoi conectați aplicațiile la un server Elasticsearch 8 compatibil și construiți indexul. Aceasta adaugă textul documentului care poate fi căutat, dar adaugă și un serviciu separat pentru securizare, monitorizare și întreținere. Conectorul README curent identifică Elasticsearch 8 ca versiune majoră acceptată, așadar verificați compatibilitatea pentru versiunea aplicației instalate înainte de a selecta o anumită versiune de Elasticsearch.

Alegeți configurația care se potrivește serverului dvs.

Elasticsearch îi ajută pe utilizatori să găsească cuvinte în documente, dincolo de numele fișierelor și metadatele de bază. Compromisul constă în securizarea și întreținerea unui alt serviciu, plus utilizarea memoriei, discului și procesorului în timpul indexării. Un cloud mic poate să nu justifice această supraîncărcare; o echipă care lucrează mult cu documente poate considera că merită costul căutării de conținut.

Trei aplicații formează integrarea: Căutarea full-text coordonează furnizorul și platforma, Elasticsearch conectează framework-ul la motor, iar Files furnizează conținutul fișierelor. Doar o singură aplicație de platformă poate fi selectată la un moment dat. Consultați fișierele README ale framework-ului și README ale furnizorului de fișiere .

Aceste exemple Linux utilizează căi Debian sau Ubuntu și www-datacontul. Ajustați căile și utilizatorii serviciului pentru containere sau alte distribuții.

1. Confirmați compatibilitatea și pregătiți Elasticsearch

Verificați versiunile Nextcloud și ale aplicației înainte de a instala Elasticsearch. Fișierul README al conectorului spune că, începând cu versiunea 26.0.0 a aplicației, acesta este compatibil cu Elasticsearch 8. Nu presupuneți că Elasticsearch 9 este compatibil deoarece este mai nou; verificați fișierul README al conectorului și wiki-ul de instalare pentru versiunea dvs.

Instalați Elasticsearch utilizând instrucțiunile Elastic pentru sistemul dvs. de operare și versiunea majoră compatibilă. Pachetul Debian al Elastic include un OpenJDK inclus, deci în mod normal nu este necesară o instalare Java separată pentru acel pachet. Consultați documentația de instalare a pachetului Debian al Elastic . Mențineți Elasticsearch accesibil numai din gazda Nextcloud sau din rețeaua privată de aplicații, cu excepția cazului în care arhitectura dvs. necesită altfel. Elasticsearch 8 activează funcții de securitate în timpul configurării pachetului; păstrați autentificarea și TLS pentru implementările în rețea și nu expuneți niciodată un endpoint de căutare neautentificat la internetul public.

După ce serviciul pornește, testați punctul său final local folosind schema și acreditările stabilite în timpul instalării. Pentru o instanță securizată locală, o solicitare poate arăta astfel curl --cacert /path/to/http_ca.crt -u elastic https://localhost:9200: introduceți parola atunci când vi se solicită, în loc să o plasați în istoricul shell-ului. Utilizați certificatul CA generat pentru instalare, nu calea substituentă. Un răspuns reușit ar trebui să identifice nodul și versiunea Elasticsearch. Dacă această verificare eșuează, remediați serviciul, încrederea în certificat sau acreditările înainte de a configura Nextcloud.

2. Instalați aplicațiile de căutare Nextcloud

Folosește pagina Aplicații a Nextcloud pentru a instala și activa Căutare text complet , Căutare text complet - Elasticsearch Platform și Căutare text complet - Fișiere . De asemenea, poți utiliza occ, instrumentul de administrare din linia de comandă al Nextcloud , din directorul de instalare Nextcloud. Pe o instalare Debian sau Ubuntu, modelul este:

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

Folosește contul HTTP al distribuției tale și urmează instrucțiunile Nextcloud . Dacă o aplicație este instalată, dar dezactivată, folosește [ contul HTTP occ app:enable APP_ID]. Păstrează toate cele trei aplicații compatibile cu versiunea ta Nextcloud.

3. Configurați platforma și furnizorul de fișiere

Deschideți setările de administrator și selectați secțiunea Căutare text complet. Alegeți Elasticsearch ca platformă de căutare, apoi introduceți adresa servletului Elasticsearch, un nume de index și orice credențiale de conexiune sau setări de certificat necesare expuse de versiunea de conector instalată. Adresa trebuie să fie accesibilă din procesul serverului Nextcloud. Dacă ambele servicii rulează în aceeași rețea de containere, localhostde obicei indică containerul Nextcloud în sine, nu containerul Elasticsearch; utilizați în schimb numele serviciului Elasticsearch sau numele de gazdă intern.

Folosește un nume de index cu literă mică, cum ar fi nextcloud;, atribuie fiecărui cloud un index separat dacă partajează un serviciu. Numele separate ajută la administrare, dar nu înlocuiesc controalele de acces. Nu include acreditările în capturile de ecran, tichete și istoricul shell-ului.

În setările furnizorului de fișiere, activați indexarea pentru tipurile de fișiere și intervalul de dimensiuni de care au nevoie utilizatorii. Conținutul care poate fi căutat depinde de furnizor și de suportul pentru extragere; indexarea numelor de fișiere în sine nu va face textul dintr-un PDF ușor de căutat. Procesorul de atașamente Elasticsearch extrage text din formate de fișiere comune, cum ar fi documente PDF și Office, dar se aplică limite de extragere și formate acceptate. În Elasticsearch 8, funcționalitatea de ingerare a atașamentelor este inclusă în distribuție; consultați referința procesorului de atașamente Elastic . Pentru scanări sau imagini, extragerea obișnuită a textului documentelor nu este OCR: adăugați un furnizor OCR numai dacă aveți nevoie de această capacitate și ați verificat cerințele sale. Păstrați limitele de dimensiune a fișierelor conservatoare pe un server cu resurse limitate.

4. Construiți indexul și mențineți-l actualizat

Executați o verificare a stării de funcționare înainte de indexare. Din directorul Nextcloud, utilizați:

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

Rezolvați mai întâi erorile raportate de conexiune, platformă sau furnizor. Apoi porniți indexarea inițială:

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

Prima rulare parcurge fișierele utilizatorilor selectați și poate dura mult timp. Mențineți sesiunea SSH stabilă sau rulați comanda într-un multiplexor de terminal, cum ar fi tmux, și monitorizați CPU-ul, memoria și spațiul pe disc. Indexarea copiază textul extras și metadatele fișierelor în Elasticsearch; nu înlocuiește copiile de rezervă Nextcloud. Planificați să protejați indexul de căutare și acreditările acestuia și rețineți că ștergerea sau reconstruirea indexului poate necesita o altă trecere completă de indexare.

Pentru actualizări continue, asigurați-vă că joburile de fundal Nextcloud rulează în mod fiabil. Proiectul documentează, de asemenea, un fulltextsearch:liveworker pentru indexare aproape imediată; poate reduce întârzierea actualizării, dar adaugă un serviciu de supraveghere. Începeți cu joburi programate și adăugați workerul numai dacă întârzierea contează. Adaptați exemplul de serviciu din amonte la căile, contul și ordinea de pornire a bazei de date.

Verificați rezultatul și alegeți compromisul dorit

După finalizarea indexării, căutați o frază distinctivă care apare în interiorul unui document de test mic, dar nu în numele său de fișier. Confirmați că Nextcloud returnează fișierul așteptat pentru un utilizator care are permisiunea de a-l citi. Apoi încărcați sau editați un al doilea document de test, permiteți rularea jobului configurat în fundal sau a lucrătorului activ și repetați căutarea. O verificare de stare reușită nu dovedește în sine că a fost indexat conținutul fișierului.

Dacă apar doar nume de fișiere, verificați furnizorul de fișiere, setările pentru tipul și dimensiunea fișierului, suportul pentru extragere și jurnalele de indexare. Pentru erori de conexiune, verificați endpoint-ul din rețeaua Nextcloud, încrederea TLS și acreditările.

Alegeți Elasticsearch atunci când căutarea de conținut este suficient de valoroasă pentru a justifica menținerea unui alt serviciu cu stare. Dacă căutarea prin nume de fișiere este suficientă, săriți peste acel cost suplimentar de resurse și securitate. Înainte de upgrade-urile de producție, verificați combinația exactă Nextcloud, aplicație și Elasticsearch; această configurare nu stabilește suport pentru fiecare metodă de implementare.

Lasă un comentariu

Rulează automat Nextcloud Cron cu un temporizator Systemd

Verificați modul cron al Nextcloud, reparați serviciul systemd și cronometrul și verificați dacă joburile de fundal rulează după pornire și la fiecare cinci minute.

Ștergeți avertismentul de blocare a fișierelor din Nextcloud cu Redis

Activează blocarea fiabilă a fișierelor Nextcloud, alege backend-ul Redis sau Valkey potrivit și verifică dacă avertismentul dispare fără a risca modificări simultane ale fișierelor.

Ce este necesar pentru a viza un rating de securitate Nextcloud de A+

Ce este necesar pentru a viza un rating de securitate Nextcloud de A+

Corectează rezultatele comune ale scanărilor Nextcloud cu actualizări actuale, HTTPS și HSTS, încredere precisă în reverse-proxy și verificări pe serverul public.

Activați criptarea pe server Nextcloud cu impact măsurat

Configurați Nextcloud SSE pentru stocarea care necesită acest lucru, protejați cheile de criptare și măsurați impactul asupra transferului și procesorului înainte de a cripta fișierele existente.

Adăugați căutarea full-text Elasticsearch în Nextcloud

Conectează căutarea de fișiere Nextcloud la Elasticsearch, indexează conținutul documentelor și alege o configurație care se potrivește nevoilor serverului și securității tale.

Setați o politică de expirare fiabilă pentru fișierele șterse din Nextcloud

Setați o politică de expirare fiabilă pentru fișierele șterse din Nextcloud

Configurați Nextcloud pentru a elimina fișierele șterse după o perioadă de retenție definită, pentru a programa în mod fiabil joburile în fundal și pentru a evita comenzile care golesc coșul de gunoi al fiecărui utilizator.

Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Rulați repararea OCC din Nextcloud în siguranță, previzualizați modificările bazei de date și verificați de ce avertismentul ar putea persista.

Creșteți limita de încărcare web a Nextcloud peste 2 GB

Creșteți limita de încărcare web a Nextcloud peste 2 GB

Permiteți încărcări mai mari în browserul Nextcloud prin alinierea setărilor PHP, Nginx sau Apache, stocarea temporară și timeout - și verificați ce limită blochează fișierul.

Ștergeți avertismentul de memorie PHP al Nextcloud pe serverul web

Setați limita de memorie PHP utilizată efectiv de Nextcloud, reporniți serviciul corect și confirmați setarea de 512 MB în Prezentare generală a administratorului.

Conectați un bucket compatibil cu S3 la spațiul de stocare extern Nextcloud

Montați un bucket de stocare a obiectelor compatibil în Nextcloud folosind backend-ul său S3, cu endpoint-ul, acreditările, domeniul de acces și pașii de verificare corecți.