8 saját üzemeltetésű hatékony keresés 🔍 Motorszoftver a termékéhez

Ijesztőnek tűnik, de egy hatékony keresési funkció hozzáadása az alkalmazáshoz nem bonyolult és nem is időigényes. Íme néhány határozott ajánlás!

Míg az elmúlt 2-3 évtizedben számos technológia lenyűgözött, a keresés azon kevesek közé tartozik, amelyek életünk szerves részévé váltak. Mindenhol megtalálható – e-kereskedelmi webhelyeken, blogokon, tudásbázisokon és egyebeken – nem azért, mert a keresőmező és az ikon jól néz ki, hanem azért, mert olyasvalamit tesz, amire égetően szükség van.

Ha Ön egy jó keresési megoldást kereső vállalkozás, vagy elege van a meglévőből, mit csinál?

Szerencsére nem kell nevetséges licencdíjat fizetnie, és nem kell 20 fős fejlesztőből és rendszergazdából álló csapatot fenntartania. Ma van néhány keresőmotor-ajánlásom, amelyek pillanatok alatt telepíthetők és integrálhatók, különösen az 1-2 méretű fejlesztői csapattal rendelkező kisvállalkozások számára.

MeiliSearch

Az egyik legjobb és legértékesebb keresőmotor, amellyel találkozhat, a MeiliSearch.

Szóval, mi késztetett arra, hogy a MeiliSearch-t a legjobb ajánlásaim közé soroljam?

Itt megy.

Nyílt forráskód

A MeiliSearch-t működtető összes forráskód elérhető a GitHubon. Ez azt jelenti, hogy a fejlesztők maguk is megvizsgálhatják a kód bármely részét. Cserébe a vállalkozások biztosak lehetnek a minőségben és a szándékosságban (például nincs hátsó ajtó vagy szkenner a programban). És természetesen hozzáértő fejlesztők segíthetnek a technológia további fejlesztésében.

Nagyszerű UX

A MeiliSearch-nek nincsenek összetett szabályai (például az „a – b” a-t jelent, de nem b-t). Csak írja be természetesen a keresést, és az eredmények folyamatosan megjelennek. A motor rendkívül toleráns és alkalmazkodó, pontos eredményeket ad még elírási hibák vagy szinonimák használata esetén is. Több nyelvet is támogat.

Remek DevEx

A fejlesztők imádni fogják a MeiliSearch-t! Nem csak testreszabható és méretezhető, hanem REST API-ként is használható! A dokumentáció is kiváló és teljes. Bár a HTTP-hívások kezdeményezése bármilyen nyelven triviális, öt nyelvből (JavaScript, Ruby, Python, Golang és PHP) mutatunk példákat azoknak, akik nagyon sietnek.

Az egyszerű keresési megoldások használatának és beállításának egyszerűnek kell lennie. Ennek megfelelően a MeiliSearch minden négyzetet bejelöl! Ha örömmel folytatja, egy kattintással indítsa el a DigitalOcean szolgáltatást.

Solr

A Solr, az Apache Project része, néhány éve létezik. A jól ismert és rendkívül megbízható Lucene könyvtárra épül, amely az ElasticSearch nevű népszerű keresési megoldást is támogatja. Mindez azt jelenti, hogy a Solr a legerősebb, skálázható, szabványkompatibilis, funkciókban gazdag és legmegbízhatóbb keresési megoldások közé tartozik.

Olyan behemótok használják, mint a Disney, az eBay, a Netflix, a Zappos és a BestBuy. Ez azonban nem jelenti azt, hogy ne futtathatna egy kisebb, egyszerűbb telepítést (mondjuk egy gépet, nincs méretezés, nincs feladatátvétel – nos, néha rendben van), és nem használhatja ezt a Solr nevű erőművet.

Tehát miért használja a Solr-t?

Íme néhány kiváló ok.

Pontos és erőteljes

A Solr a világ legpontosabb, legmegfelelőbb és legerősebb keresőrendszerei közé tartozik. Ráadásul nyílt forráskódú, ami megmagyarázza, hogy a nagy nevek (ahogy már korábban is említettük) miért tettek rá egy pillantást. A dokumentumok feldolgozására és a keresési lekérdezések megválaszolására való képessége felülmúlhatatlan.

Egyszerű telepítés és karbantartás

A Solr telepítése olyan egyszerű, mint a program kicsomagolása és futtatása. Egyszerű, egygépes rendszerek esetén nincs szükség trükkös karbantartásra; figyelje a RAM-használatot, mivel a keresési megoldások általában, és különösen a Java-alapú technológiák meglehetősen RAM-éhesek lehetnek (mert mindent a RAM-ban tartanak vagy próbálnak megtartani a gyors olvasás/írás érdekében).

Adminisztrációs Panel

A Solr egy adminisztrációs panellel érkezik, amely lehetővé teszi a vizuális megfigyelést és a konfigurálást. Némi triviális mennyiségű képzéssel még a nem fejlesztők is megtanulhatják elolvasni a kulcstáblázatokat. A listán szereplő keresési megoldások közül nem sok van ilyen funkcióval.

Kép forrása: Hivatalos oldal

API-vezérelt, szabványoknak megfelelő

A Solr egy olyan API-n belüli eredményfelületet biztosít, amely többféle formátumot – JSON, CSV, XML és bináris – képes kezelni. A JMX szabványnak megfelelő megfigyelési adatokat ad ki, ami hatalmas áldás a Java fejlesztők számára.

  Hogyan nézheti meg az idézeteket

Még sok mindent el lehet mondani Solr mellett, de ha megpróbálunk mindent lefedni, az az idők végezetéig visz minket. 😂 Elég azt mondani, hogy a Solr egy csúcsminőségű megoldás, és soha nem hibázhat vele, függetlenül attól, hogy milyen típusú adatokkal dolgozik.

Elaszticsearch

Az Elasticsearch úttörő volt a szabad formátumú szövegkeresésben, és vitathatatlanul továbbra is az. Valójában még ma is, ha egy programozótól vagy rendszergazdától kérünk ajánlást a keresőmotorokra vonatkozóan, nagy valószínűséggel az Elasticsearch lesz az egyetlen név, amit kitalálnak. Persze manapság egy jókora darab ajánl valamit, mint például az Algolia, de már leírtuk, hogy ez hogyan működik. 🤪

Ne vezessen félre a fenti ábrán látható „Ingyenes próba indítása” gomb. Míg maga az Elasticsearch alaptechnológiája nyílt forráskódú és ingyenes, a vállalat igyekszik pénzzé tenni erőfeszítéseit és megcélozni a vállalatokat. Ezért az itt látható valójában a felhőszolgáltatásuk próbaverziója, amely megkönnyíti az Elasticsearch kezelését, különösen, ha fürtökről van szó.

Uff, annyi hálót kell kibogozni. Összefoglalva: Az Elasticsearch nyílt forráskódú és ingyenes, és bárki könnyedén beállíthatja és korlátlanul használhatja.

És most, ahogy az várható volt, merüljünk el az Elasticsearch választásának okaiban:

  • Érett, harcokban tesztelt keresőmotor. Ez azt jelenti, hogy sokkal nagyobb valószínűséggel talál megoldást, ha „furcsa” hibákkal ragad.
  • Első osztályú fókusz a klaszterezésre, a méretezhetőségre és az aszinkron írásra.
  • Egy egyszerű REST API-n keresztül érhető el (amit végül mindenki másolt le).
  • Dokumentum-orientált, de szükség esetén támogatja a sémát.
  • Elképesztően gyors és pontos eredmények. Konfigurálható keresési sebesség.
  • Csillagdokumentáció, mennyiségben és hasznosságban is.
  • Egy teljes keresési és elemzési felhőplatform (az ELK-verem), ha kedve van a kényelemért fizetni.

Az egyetlen jó választásom az Elasticsearch ellen a hatalmas RAM-fogyasztás. Úgy értem, tanácsadóként elég nehéz meggyőzni az ügyfeleket, hogy fektessenek be egy havi 20 dollárba kerülő szerverbe, ami sajnos közel sem felel meg az Elasticsearch elvárásainak.

Ha kíváncsi az Elasticsearch elsajátítására, nézze meg ezt az Udemy tanfolyamot.

Typesense

A Typesense egy könnyű, egyszerű, mégis hatékony keresőmotor. Azok, akik a hasznosságot és az egyszerűséget keresik, mindenképpen próbálják ki ezt.

Az egyik legjobb dolog a Typesense-ben, hogy közvetlenül a webhelyükön próbálhatja ki. Ez frusztrációt és időt takaríthat meg azokban az esetekben, amikor mindent beállít, és kipróbálja az API-t. . . csak azért, hogy rájöjjön, hogy egy vagy több funkció nem úgy működik, ahogyan szerette volna.

Ez nem azt jelenti, hogy hibák lehetnek a motorban; csak arról van szó, hogy a motor valamire való felfogása nem biztos, hogy az Ön preferenciája, vagy teljesen összeütközésbe kerülhet az üzleti területtel. Elírási hibák, speciális szimbólumok, szinonimák és egyebek . . . közvetlenül a kezdőlapon ellenőrizheti a motor által kiadott eredményeket (ők egy könyvadatbázist használnak erre).

Amint látja, ez a szakasz közvetlenül a legfelső alatt található. A keresőmezőbe beírtam a „tra” lekérdezést, és alatta a könyvek adatbázisából származó találatokat látom (valamint a metaadatokat – összesített eredmények, aktuális oldal stb.).

A Typesense nagyon sokat foglalkozik vele, ha a választott keresőmotorról van szó:

  • A mögötte álló technológia teljesen nyílt forráskódú és barátságos.
  • Könnyen konfigurálható a HA (High Availability) beállítás, ha szüksége van rá.
  • Toleráns, ha a keresési lekérdezések elírásairól és egyéb zajairól van szó.
  • Fejlett szűrőrendszer azok számára, akiknek szüksége van a keresési eredmények finom vezérlésére.
  • Egyszerű REST API, bár a dokumentumokkal extra kemény munkával kell megtalálni!
  • Néhány fő nyelvhez (JavaScript, Python, Ruby és PHP) állnak rendelkezésre kliensek (SDK).

Végül, ha fárasztónak találja az új szerverek beállításának ötletét, a Typesense-nek van egy felhőajánlata is, ahol a kiépítés egyetlen kattintással történik. A számlázás óránként történik, az olvasás és az írás mértéke nem mérhető. Őszintén mondom, ez a jobb megoldás a legtöbb vállalkozás számára, feltéve, hogy előre kidolgozták az árat, és megbizonyosodtak arról, hogy ez nettó nyereség.

  A középső kattintás konfigurálása az érintőpadon

Mindent összevetve, a Typesense-nek sok értelme van (nem szójáték!), ha valami kicsi, sima, precíz és igazi igáslóra van szüksége.

Szonikus

A Sonic büszke arra, hogy egy ElasticSaerch alternatíva, amely „néhány MB RAM-mal” fut.

Hogyan lehetséges ez?

Nos, a Java Virtual Machine (JVM) köztudottan RAM-éhes (általában a JVM indítása körülbelül 1 GB RAM-ot fogyaszt); Nem meglepő tehát, hogy a Rust nyelven kódolt valami (amely teljes vezérlést és memóriabiztonságot biztosít a fejlesztők számára) ugyanolyan gyorsan fut, és csak néhány MB RAM-ot használ.

Nyugi mindenki! Ez csak a projekt kabalája.

A cikk írásakor néhány cég szerepel a felhasználók között, bár biztos vagyok benne, hogy van még néhány, amelyik nem zavarta a nevüket. Nem emlékszem, hogyan vagy a pontos időkeretre, de korábban találkoztam Sonic-kal; akkoriban, bár örültem egy alacsony memóriájú alternatívának, úgy gondoltam, időre van szüksége a stabilizáláshoz és a rejtett hibák kiküszöböléséhez. Nos, úgy tűnik, többé-kevésbé megérkeztek; Hogy a Sonic mennyire lesz népszerű, azt csak az idő fogja eldönteni.

Oké, félretéve a hosszú töprengést, miért érdemes fontolóra venni a Sonic használatát a szervezetében/projektjében?

Íme néhány ok:

  • Rendkívül alacsony memóriaigény, ami a keresőmotorokat illeti.
  • Az összes főbb programozási nyelvhez elérhetők a könyvtárak. A Node-ot, a PHP-t és a Rust-ot maguk a szerzők adták ki, míg a többit a közösség hozta létre (örüljetek, mert az olyan egzotikus stiffekre is vonatkozik, mint az Elixir és a Nim!).
  • Több nyelv is támogatott (túl sok volt számolni, de úgy gondolom, az írás szerint 40-50 nyelv támogatott).
  • Meglepetés! Akár új nyelveket is használhat, és a motor működni fog (😂😂), bár elveszít néhány speciális funkciót, például a stop szavakat.
  • Nagyon gyors motor. Ha megnézed a GitHub oldalukat, láthatod, hogy a feldolgozási és keresési idő több esetben mikroszekundumban volt megadva! Természetesen ez egy egygépes teszt volt, mivel a hálózati késleltetés soha nem engedi, hogy a számok ilyen alacsonyak legyenek.

Ha szeretné látni ezt a motort működés közben, lépjen erre a linkre (az egyik felhasználó cégük), és játsszon az ott látható keresőmezővel:

A Sonic keresőmotorként bizonyos korlátozásokkal rendelkezik. A fejlesztők kiemelték és nyíltan megvitatták őket a GitHub-oldalukon. Azt tanácsolom, hogy alaposan vizsgálja meg ezt a listát, és állapítsa meg, hogy az Ön használati esetei nem azonosak a tartományukkal. Ennek ellenére mindennek vannak korlátai; csak el vannak rejtve, és ezért csak akkor vesszük észre, ha már túl késő. Ezért a Sonic-ot remek választásnak tartom keresőmotornak.

TNTSearch

Most van egy lenyűgöző bejegyzésünk ezen a listán. Az első érdekesség az, hogy ez a funkciókkal teljes, gyártásra kész kereső, PHP-ben íródott!

Igen, az összes lehetséges nyelv közül a PHP. És ezt nem azért mondom, mert utálom a PHP-t, hanem azért, mert ez egy rövid életű folyamat.

A második érdekesség az engedélyük, legalábbis ami az írást illeti. Valójában maga a licenc MIT, tehát nincs probléma, de a szerzők ezt a szoftvert a PS4Ware kategóriába sorolják; ha élesben használod a TNTSearch-t, küldj nekik egy PS4-es játékot! 😂😂 Na most nem kötelező, ahogy a “kell” is jelzi, de hihetetlenül vicces. Azt is remélem, hogy frissítik PS5 licencre, bár ez még túl korai.

Mindenesetre erős PHP + Laravel háttérből származom, nagyon értékelem ezeknek a srácoknak az erőfeszítéseit. Weboldaluk nem mond sokat, de úgy tűnik, hogy tanácsadók, ezért nagyon ajánlom, hogy forduljon hozzájuk, ha projektjei vannak!

Van valami jó ok a TNTSearch használatára a projektjeiben?

Igen, vannak:

  • PHP-ben, PHP-ben, PHP-ben kódolva. A PHP-ökoszisztémának több dedikált, jó minőségű megoldásra van szüksége, mint ez.
  • Fontos funkciók, mint például a fuzzy keresés, a földrajzi keresés és a szöveges besorolás.
  • Könnyen módosítható a keresési index, ami sok megoldásból hiányzik a nagy rugalmasság.
  • Stemming, BM25 rangsor és egyedi tokenizálás nagy pontosságot biztosítanak.
  • Egyszerű üzembe helyezés – akárcsak bármely más Composer csomag!
  A Google Chrome rejtett olvasó módjának használata

Itt ellenőrizheti a motor teljesítményét, és saját szemével láthatja, milyen gyors és pontos. Ismét hangsúlyoznám a PHP szempontját: ha PHP projektet tartasz fenn, akkor a lehető legnagyobb mértékben a PHP falai között akarsz maradni (miért? gondolj az átképzési költségekre). És ilyen esetekre a TNTSearch olyan értékajánlatot hoz, amelyet nehéz visszautasítani!

Vespa

A Vespa széles és nehézsúlyú kínálat. A lista néhány másik bejegyzéséhez hasonlóan ez is túl nagy ahhoz, hogy néhány szóban leírjuk. De meg kell próbálnom, hát megteszem. 🙂 A Vespa egy keresőmotor, persze, de ha hagyományos keresőként használjuk, az elpazarolja a benne rejlő lehetőségeket.

A Vespa végtelen mennyiségű adat (Big Data) kezelésére készült, és ezen felül gépi tanulás által vezérelt funkciókat és végtelen testreszabást biztosít.

A Vespa az Elasticsearch és a hagyományos adatbázisok versenytársaként pozicionálja magát, és tisztességes összehasonlítást nyújt arra vonatkozóan, hogy mit és mikor kell használni.

Amint látja, minél közelebb szeretne kerülni a gépi tanulás által vezérelt műveletekhez, annál értelmesebb a Vespa. Tiszta keresőként egy kis- és középvállalkozások számára nem hiszem, hogy bármilyen előnye lenne más lehetőségekkel szemben.

Figyelembe véve, hogy folyamatosan hatalmas mennyiségű adatot generál, és szeretné javítani a döntéshozatalt az AI/ML segítségével (ez a leírás sok mai SaaS-vállalkozásra illik), a Vespának a következő okai vannak:

  • Nyílt forráskód: Nincsenek furcsa licencek és nincsenek csapdaszerződések. És ezen felül nincs mit fizetni, bár mindig hangsúlyozom, hogy a cégek rendszeres összeget fizetnek az általuk leginkább használt projektekre (még havi 50 dollár is sokat segít nekik).
  • Valós idejű: A Vespa valóban valós idejű. Nem csak megemészti, ropogtatja és keresi a beérkező adatokat; még a konfigurációja is menet közben módosítható.
  • Méretezhető és toleráns: A Vespa méretarányosan triviális. Nagyon jól reagál a csomópontok hirtelen eltűnésére is, nagy megbízhatóságot biztosítva.
  • Rangsorolás és ajánlások: A keresési, rangsorolási és Vespa-ajánlások összekeverhetők strukturált lekérdezésekkel, így valóban pontos eredmények érhetők el.
  • Fájdalommentes AI/ML: A Vespa kiváló minőségű, előre betanított ML modellekkel érkezik. Nem kell 20 adatkutatót felvennie az adatok tisztításához és felhasználásához.
  • Egyéni beépülő modulok: Az API-k teljes készlete segít a fejlesztőknek egyéni Java-bővítmények létrehozásában, ha módosítaniuk kell a motor működését.

A Vespa kétségtelenül masszív, tehát egyértelmű az olyan csapatok számára, akik kicsit túl vannak a kezdő szinten – legyen szó csapatlétszámról, technikai tudásról, infrastrukturális költségvetésről, napi adatmennyiségről vagy valami másról. Ebben a szegmensben a Vespa hazafut, és erősen ajánlott.

Ambar

Egyes vállalkozásoknál a keresési adatok már nincsenek megfelelően átalakítva és JSON-dokumentumként tárolva; inkább a szó valódi értelmében vett rendetlenség – kaotikus gyűjtemény mindenféle dokumentumból, például Word, PDF, HTML fájlok stb. üdv Ambarnak!

A legjobb dolog az Ambarban az, hogy nagy fájltípusokkal tud dolgozni:

  • MS Office fájlformátumok (.docx, .xlsx stb.), beleértve a PowerPoint, a Visio és a Publisher!
  • OpenOffice fájlformátumok
  • PDF dokumentumok automatikus OCR-rel az információk kinyerésére.
  • Képek
  • E-mail archív formátumok, például PST (üdvözöljük, Outlook-felhasználók!)
  • E-mail üzenetek mellékletekkel

A finomságok itt sem érnek véget. Az Ambar képes nagy fájlokkal (30 MB felett), ZIP archívumokkal és többszálú feldolgozással dolgozni a teljes CPU kihasználtság és a gyorsabb eredmény érdekében. Tehát, ha évekre szóló dokumentumai hevernek valamilyen lemezen egy elfelejtett szerveren, akkor itt az ideje, hogy visszahozza és betáplálja mindent Ambarnak!

Következtetés

A keresés 🔎 erőteljes, a keresés varázslatos, és a keresés mindenhol elérhető!

Ez akár fekete mágia is lehet, de ma már semmi ok, amiért mindenki (természetesen némi fejlesztői segítséggel) ne tudná kihasználni az előnyeit. A listán szereplő keresőmotorok a vállalkozásoktól a magánszemélyeken át a kormányokig szinte erőfeszítés nélküli ajánlatot kínálnak, exponenciális előnyökkel és hatással.

Szerezzen be egy felhőkiszolgálót, és telepítse a fent felsorolt ​​keresőszoftvert, amelyet szeretne.