8 software de căutare puternic 🔍 auto-găzduit pentru produsul dvs

Pare descurajantă, dar adăugarea unei funcții de căutare puternice la aplicația dvs. nu este nici complexă, nici consumatoare de timp. Iată câteva recomandări solide!

În timp ce multe tehnologii au impresionat în ultimele 2-3 decenii, o căutare este printre puținele care au devenit parte integrantă a vieții noastre. Este peste tot – site-uri de comerț electronic, bloguri, baze de cunoștințe și multe altele – nu pentru că o casetă de căutare și o pictogramă arată cool, ci pentru că face ceva de care este extrem de necesar.

Dacă ești o companie care caută o soluție bună de căutare sau te-ai săturat de cea existentă, ce faci?

Din fericire, nu trebuie să plătiți taxe ridicole de licență și nici nu trebuie să mențineți o echipă de 20 de dezvoltatori și administratori de sistem. Astăzi am câteva recomandări pentru motoarele de căutare care pot fi instalate și integrate în cel mai scurt timp, în special de către întreprinderile mici cu echipe de dezvoltatori de dimensiunea 1-2.

MeiliSearch

Unul dintre cele mai bune și de mare valoare motoare de căutare pe care le veți întâlni este MeiliSearch.

Deci, ce mă face să înscriu MeiliSearch printre recomandările mele de top?

Aici merge.

Sursa deschisa

Tot codul sursă care alimentează MeiliSearch este disponibil în mod deschis pe GitHub. Aceasta înseamnă că dezvoltatorii pot examina ei înșiși orice parte a codului. În schimb, companiile pot fi asigurate de calitate și intenție (fără uși din spate sau scanere în program, de exemplu). Și, desigur, dezvoltatorii cunoscători pot ajuta la îmbunătățirea și mai mult tehnologia.

UX grozav

MeiliSearch nu are reguli complexe (cum ar fi „a – b” înseamnă a, dar nu b). Doar introduceți căutarea în mod natural, iar rezultatele vor începe să apară fluid. Motorul este foarte tolerant și acomodativ, oferind rezultate precise chiar și atunci când sunt folosite greșeli de scriere sau sinonime. De asemenea, acceptă mai multe limbi.

Excelent DevEx

Dezvoltatorii vor adora MeiliSearch! Nu este doar personalizabil și scalabil, ci și interfețe ca API REST! Documentația este, de asemenea, excelentă și completă. În timp ce efectuarea de apeluri HTTP este banală în orice limbă, exemple din cinci limbi (JavaScript, Ruby, Python, Golang și PHP) sunt date pentru cei care se grăbesc.

Soluțiile simple de căutare ar trebui să fie ușor de utilizat și configurat. Ca atare, MeiliSearch bifează toate casetele! Când sunteți fericit să continuați, începeți-l pe DigitalOcean cu un singur clic.

Solr

Solr, parte a Proiectului Apache, există de câțiva ani. Este construit pe binecunoscuta și foarte fiabilă bibliotecă Lucene, care alimentează și populara soluție de căutare numită ElasticSearch. Toate aceste mumbo-jumbo înseamnă că Solr se numără printre cele mai puternice, scalabile, compatibile cu standardele, bogate în funcții și de încredere soluții de căutare.

Este folosit de giganți precum Disney, eBay, Netflix, Zappos și BestBuy. Cu toate acestea, asta nu înseamnă că nu puteți rula o instalare mai mică și mai simplă (de exemplu, cu o singură mașină, fără scalare, fără failover – ei bine, uneori este bine) și să utilizați această centrală numită Solr.

Deci, de ce să folosiți Solr?

Iată câteva motive excelente.

Precis și puternic

Solr este printre cele mai precise, capabile și puternice sisteme de căutare din lume. În plus, este open-source, ceea ce explică de ce nume mari (așa cum am menționat mai devreme) s-au îndreptat către el. Capacitatea sa de a digera documente și de a răspunde la interogări de căutare este inegalabilă.

Instalare și întreținere simplă

Instalarea Solr este la fel de simplă ca decomprimarea și rularea programului. Pentru sistemele simple, cu o singură mașină, nu este necesară o întreținere dificilă; fii atent la utilizarea RAM, deoarece soluțiile de căutare în general și tehnologiile bazate pe Java în special pot fi destul de amanate de RAM (pentru că păstrează sau încearcă să păstreze totul în RAM pentru a oferi citiri/scrieri rapide).

Panoul Administratorului

Solr vine cu un panou de administrare care permite monitorizarea vizuală și configurarea. Cu o anumită cantitate de instruire, chiar și cei care nu sunt dezvoltatori pot învăța să citească diagramele cheie. Nu multe soluții de căutare din această listă vin cu funcționalități ca aceasta.

Sursa imagine: Site oficial

Controlat de API, conform standardelor

Solr oferă o interfață de rezultate într-un API care poate gestiona mai multe formate – JSON, CSV, XML și binar. Produce date de monitorizare conform standardului JMX, un avantaj imens pentru dezvoltatorii Java.

  Ce sunt listele Microsoft și cum le folosiți?

Mai sunt multe de spus în favoarea lui Solr, dar încercarea de a acoperi totul ne va duce până la sfârșitul timpului. 😂 Este suficient să spunem că Solr este o soluție de top și nu puteți greși niciodată cu ea, indiferent de tipul de date cu care lucrați.

Elasticsearch

Elasticsearch a fost, și probabil este încă, un pionier în căutarea de text în formă liberă. De fapt, chiar și astăzi, dacă cereți unui programator sau administrator de sistem o recomandare pentru motoarele de căutare, Elasticsearch este foarte probabil să fie singurul nume pe care îl vor găsi. Sigur, în zilele noastre, o bucată considerabilă va recomanda și ceva de genul Algolia, dar am descris deja cum se întâmplă. 🤪

Nu vă lăsați induși în eroare de butonul „Începeți încercarea gratuită” din graficul de mai sus. În timp ce tehnologia de bază Elasticsearch în sine este open source și gratuită, compania încearcă să-și monetizeze eforturile și să vizeze întreprinderile. Prin urmare, ceea ce vedeți aici este de fapt proba pentru serviciul lor cloud, ceea ce face gestionarea Elasticsearch ușoară, mai ales atunci când există clustere implicate.

Uf, atâtea rețele de descurcat. Să recapitulăm: Elasticsearch este open source și gratuit și oricine îl poate configura cu ușurință și îl poate folosi fără limite.

Și acum, așa cum era de așteptat, să ne aprofundăm în motivele pentru care alegem Elasticsearch:

  • Motor de căutare matur, testat în luptă. Aceasta înseamnă că este mult mai probabil să găsiți soluții dacă sunteți blocat cu erori „ciudate”.
  • Accent de primă clasă pe clustering, scalabilitate și scrieri asincrone.
  • Accesibil printr-un simplu API REST (care este ceea ce toți ceilalți au ajuns să copieze).
  • Orientat pe document, dar acceptă schema dacă este necesar.
  • Rezultate nebun de rapide și precise. Viteza de căutare configurabilă.
  • Documentație stelară, atât în ​​cantitate, cât și în utilitate.
  • O platformă cloud completă de căutare și analiză (stiva ELK), dacă doriți să plătiți pentru comoditate.

Singura alegere pe care l-aș avea împotriva Elasticsearch este consumul masiv de memorie RAM. Adică, în calitate de consultanți, este destul de greu să convingi clienții să investească într-un server care costă 20 USD/lună, ceea ce, din păcate, nu este aproape de ceea ce cere Elasticsearch.

Dacă ești curios să înveți Elasticsearch, consultă acest curs Udemy.

Tipul

Typesense este un motor de căutare ușor, simplu, dar puternic. Cei care caută utilitate și simplitate ar trebui să îl încerce cu siguranță pe acesta.

Unul dintre cele mai bune lucruri despre Typesense este că îl puteți încerca chiar pe site-ul lor. Acest lucru poate economisi frustrare și timp în cazurile în care configurați totul și încercați API-ul. . . doar pentru a descoperi că una sau mai multe dintre funcții nu funcționează așa cum ți-ai fi dorit.

Asta nu înseamnă că ar putea exista erori în motor; doar că ideea motorului poate să nu fie preferința dvs. sau ar putea fi în conflict total cu domeniul dvs. de afaceri. Greșeli de tipar, simboluri speciale, sinonime și multe altele. . . puteți verifica rezultatele pe care motorul le aruncă chiar pe pagina de pornire (folosesc o bază de date de cărți pentru asta).

După cum puteți vedea, această secțiune este chiar sub cea de sus. În caseta de căutare, am introdus interogarea „tra”, iar mai jos văd rezultate care se potrivesc din baza de date a cărților (precum și metadate — rezultate totale, pagina curentă etc.).

Typesense are multe de oferit atunci când vine vorba de un motor de căutare ales:

  • Tehnologia din spatele acesteia este complet open source și primitoare.
  • Ușor de configurat o configurație HA (Disponibilitate ridicată), dacă aveți nevoie de una.
  • Tolerant când vine vorba de greșeli de scriere și alte zgomote în interogările de căutare.
  • Un sistem avansat de filtrare pentru cei care au nevoie de un control fin al rezultatelor căutării.
  • API-ul REST simplu, deși documentele lor vă vor face să lucrați din greu pentru a-l găsi!
  • Clienții (SDK-uri) sunt disponibili pentru unele dintre limbile majore (JavaScript, Python, Ruby și PHP).

În cele din urmă, dacă ți se pare obositoare ideea de a configura noi servere, Typesense are și o ofertă cloud în care aprovizionarea necesită un singur clic. Facturarea se face la oră, iar citirea și scrierea sunt necontorizate. Sincer, voi spune că aceasta este opțiunea mai bună pentru majoritatea companiilor, cu condiția să fi stabilit prețul în avans și să se asigure că este un câștig net.

  6 Cel mai bun software de analiză Wi-Fi pentru rețelele de afaceri mici și mijlocii

Una peste alta, Typesense are foarte mult sens (fără joc de cuvinte!) Dacă aveți nevoie de ceva mic, elegant, precis și un adevărat cal de muncă.

Sonic

Sonic se mândrește că este o alternativă ElasticSaerch care rulează pe „câțiva MB de RAM”.

Cum este posibil acest lucru?

Ei bine, mașina virtuală Java (JVM) este cunoscută a fi consumată de RAM (în general, doar la pornirea JVM-ului consumă aproximativ 1 GB de RAM); Nu este surprinzător, așadar, că ceva codificat în limbajul Rust (care oferă dezvoltatorilor control deplin și siguranță a memoriei) poate rula la fel de repede și poate folosi doar câțiva MB de RAM.

Relaxați-vă, toată lumea! Asta e doar mascota proiectului.

În momentul în care scriu, există câteva companii listate printre utilizatorii săi, deși sunt sigur că mai sunt câteva care nu s-au deranjat să-și adauge numele. Nu-mi amintesc cum sau intervalul de timp exact, dar am dat peste Sonic mai devreme; la acel moment, deși eram fericit să văd o alternativă cu memorie redusă, m-am gândit că va avea nevoie de timp pentru a se stabiliza și a elimina bug-urile ascunse. Ei bine, se pare că au sosit mai mult sau mai puțin; cât de popular devine Sonic este ceva ce doar timpul îl va spune.

Bine, atât de lungi rumegări la o parte, de ce ar trebui să vă gândiți să utilizați Sonic pentru organizația/proiectul dvs.?

Iată câteva motive:

  • Amprenta de memorie extrem de redusă, în ceea ce privește motoarele de căutare.
  • Bibliotecile sunt disponibile pentru toate limbajele de programare majore. Node, PHP și Rust sunt ceea ce au lansat autorii înșiși, în timp ce altele au fost create de comunitate (bucură-te, pentru că sunt acoperite și exotice rigide precum Elixir și Nim!).
  • Sunt acceptate mai multe limbi (a fost prea mult de numărat, dar cred că, în momentul scrierii, sunt acceptate 40-50 de limbi).
  • O surpriza! Puteți chiar să folosiți limbi noi, iar motorul va funcționa (😂😂), deși veți pierde unele funcții avansate, cum ar fi cuvintele oprite.
  • Motor foarte rapid. Dacă consultați pagina lor GitHub, veți vedea că timpii de introducere și căutare au fost în microsecunde în mai multe cazuri! Desigur, acesta a fost un test pentru o singură mașină, deoarece latența rețelei nu va permite niciodată ca cifrele să fie atât de scăzute.

Dacă doriți să vedeți acest motor în acțiune, accesați acest link (una dintre companiile lor utilizator) și jucați-vă cu caseta de căutare pe care o vedeți acolo:

Există anumite limitări pentru Sonic ca motor de căutare. Dezvoltatorii le-au evidențiat și au discutat deschis pe pagina lor GitHub. Sfatul meu ar fi să examinați îndeaproape această listă și să stabiliți că cazurile dvs. de utilizare nu sunt în comun cu domeniul lor. Acestea fiind spuse, totul are limitări; doar că sunt ținute ascunse, așa că nu ne dăm seama până nu este prea târziu. Prin urmare, consider că Sonic este o alegere excelentă pentru un motor de căutare.

TNTSearch

Avem acum o intrare fascinantă pe această listă. Primul lucru interesant este că acest motor de căutare complet, gata de producție, a fost scris în PHP!

Da, dintre toate limbile posibile, PHP. Și spun asta nu pentru că urăsc PHP, ci pentru că este un proces de scurtă durată prin design.

Al doilea lucru interesant este licența lor, cel puțin la momentul scrierii. De fapt, licența în sine este MIT, deci nu există probleme acolo, dar autorii clasifică acest software drept PS4Ware; dacă utilizați TNTSearch în producție, ar trebui să le trimiteți un joc PS4! 😂😂 Acum, nu este obligatoriu, așa cum indică „trebuie”, dar e amuzant peste tot. De asemenea, sper că o vor face upgrade la o licență PS5, deși este prea devreme acum.

Oricum, venind chiar dintr-un mediu puternic PHP + Laravel, apreciez foarte mult eforturile acestor băieți. Site-ul lor nu spune mare lucru, dar pare să indice că sunt consultanți, așa că vă recomand cu căldură să contactați ei dacă aveți proiecte!

Acum, există motive întemeiate pentru a utiliza TNTSearch în proiectele dvs.?

Da sunt:

  • Codat în PHP, pentru PHP, de PHP. Ecosistemul PHP are nevoie de soluții mai dedicate, de înaltă calitate, precum aceasta.
  • Caracteristici importante, cum ar fi căutarea neclară, căutarea geografică și clasificarea textului.
  • Ușor de schimbat indexul de căutare, ceea ce este o flexibilitate majoră care lipsește din multe soluții.
  • Stemming, clasamentul BM25 și tokenizarea personalizată asigură o precizie ridicată.
  • Implementare ușoară – la fel ca orice alt pachet Composer!
  JBuds Mini sunt făcute pentru persoanele cu urechi mici

Puteți verifica performanța motorului aici și puteți vedea singur cât de rapid și precis este. Aș sublinia din nou aspectul PHP: dacă mențineți un proiect PHP, doriți să rămâneți în pereții PHP cât mai mult posibil (de ce? gândiți-vă la costurile de reinstruire). Și pentru astfel de cazuri, TNTSearch aduce o propunere de valoare care este greu de refuzat!

Vespa

Vespa este o ofertă largă și grea. Ca și alte câteva intrări din această listă, este prea mare pentru a fi surprinsă în câteva cuvinte. Dar trebuie să încerc, așa că o voi face. 🙂 Vespa este un motor de căutare, sigur, dar folosirea lui ca un motor de căutare obișnuit îi va irosi potențialul.

Vespa a fost construită pentru a gestiona cantități nesfârșite de date (Big Data) și pentru a oferi funcții bazate pe Machine Learning și personalizare nesfârșită, pe deasupra.

Vespa se poziționează ca un concurent pentru Elasticsearch și bazele de date tradiționale și oferă o comparație decentă despre ce să folosești și când.

După cum puteți vedea, cu cât doriți să vă apropiați de operațiunile bazate pe Machine Learning, cu atât Vespa are mai mult sens. Ca motor de căutare pur pentru o afacere de nivel mic până la mediu, nu cred că are avantaje față de alte opțiuni.

Acum, având în vedere că generați continuu cantități mari de date și doriți să îmbunătățiți procesul de luare a deciziilor prin AI/ML (o descriere care se potrivește multor afaceri SaaS astăzi), iată de ce Vespa are foarte mult sens:

  • Sursă deschisă: fără licențe ciudate și fără contracte de capcană. Și nimic de plătit în plus, deși subliniez mereu că companiile plătesc o sumă regulată proiectelor pe care le folosesc cel mai mult (chiar și 50 USD/lună le vor ajuta foarte mult).
  • În timp real: Vespa este cu adevărat în timp real. Nu poate doar să digere, să analizeze și să caute date pe măsură ce intră; chiar și configurația sa poate fi modificată din mers.
  • Scalabilă și tolerantă: Vespa este trivială la scară. De asemenea, răspunde foarte bine la dispariția bruscă a nodurilor, oferind o fiabilitate ridicată.
  • Clasare și recomandări: recomandările de căutare, clasare și Vespa pot fi combinate cu interogări structurate pentru a oferi rezultate cu adevărat precise.
  • Painless AI/ML: Vespa vine la pachet cu modele ML pre-antrenate de înaltă calitate. Nu trebuie să angajați 20 de cercetători pentru a vă curăța și utiliza datele.
  • Pluginuri personalizate: există un set complet de API-uri care ajută dezvoltatorii să creeze pluginuri Java personalizate, în cazul în care trebuie să modifice modul în care funcționează motorul.

Vespa este masivă, fără îndoială, așa că este clar pentru echipele care depășesc puțin nivelul inițial – fie că este vorba de dimensiunea echipei, pricepere tehnologică, bugete de infrastructură, volume zilnice de date sau altceva. Pentru acest segment, Vespa va lovi un home run și este foarte recomandată.

Ambar

Pentru unele companii, datele de căutare nu sunt deja bine transformate și stocate ca documente JSON; mai degrabă, este o mizerie în adevăratul sens al cuvântului – o colecție haotică de tot felul de documente, cum ar fi fișiere Word, PDF, HTML etc. Dacă sunteți unul dintre ei și credeți că nu există nicio speranță pentru dvs., ei bine, să spuneți salutare lui Ambar!

Cel mai bun lucru despre Ambar este tipul mare de fișiere cu care poate funcționa:

  • Formate de fișiere MS Office (.docx, .xlsx etc.), inclusiv PowerPoint, Visio și Publisher!
  • Formate de fișiere OpenOffice
  • Documente PDF cu OCR automat aplicat pentru a extrage informații.
  • Imagini
  • Formate de arhivă de e-mail, cum ar fi PST (bună ziua, utilizatorii Outlook!)
  • Mesaje de e-mail cu atașamente

Nici bunătățile nu se termină aici. Ambar este capabil să lucreze cu fișiere mari (peste 30 MB), arhive ZIP și multithreading pentru utilizarea completă a procesorului și rezultate mai rapide. Așadar, dacă aveți documente de ani de zile aflate pe un disc pe un server uitat, este timpul să le aduceți înapoi și să transmiteți totul lui Ambar!

Concluzie

Căutarea 🔎 este puternică, căutarea este magică și căutarea este peste tot!

Ar putea fi chiar magie neagră, dar astăzi nu există niciun motiv pentru care toată lumea (cu ajutorul unui dezvoltator, desigur) să nu-și poată culege beneficiile. De la companii la persoane fizice la guverne, motoarele de căutare din această listă oferă o ofertă aproape zero, cu beneficii și impact exponențial.

Continuați și obțineți un server cloud și instalați software-ul de căutare enumerat mai sus pe care doriți să îl experimentați.