Vodič za Apache Solr: Što je Solr? Architektura
⚡ Pametni sažetak
Apache Solr je otvorenog koda, JavaPoslužitelj za pretraživanje temeljen na Apache Luceneu. Indeksira velike količine tekstualno usmjerenih podataka i vraća relevantne rezultate putem REST API-ja, nudeći pretraživanje cijelog teksta, fasetiranje, skalabilnost te samostalne i SolrCloud načine implementacije.

Što je Apache Solr?
Apache Solr je open-source poslužiteljska platforma za pretraživanje napisana u Java jezik zaklade softvera Apache. Vrlo je skalabilan i spreman za implementaciju tražilice za rukovanje velikom količinom tekstualnih podataka. Svrha korištenja Apache Solr je indeksiranje i pretraživanje velike količine web sadržaja i davanje relevantnog sadržaja na temelju upita za pretraživanje.
Apache Solr je HTTP omotač temeljen na REST-API-ju oko tražilice punog teksta pod nazivom Apache Lucene. Obrnuti indeks je popis riječi gdje se svaki unos riječi povezuje s dokumentima u kojima je pohranjen. Na taj način se dobivaju svi dokumenti za upit pretraživanja "guru99" jednostavnom operacijom 'get'.
Povijest Apache Solra
- 1999: Doug Cutting objavio je Lucene
- 2004: Solr je razvio Yonik Seeley u CNET-u kao interni projekt unutar tvrtke
- 2006: CNET objavljuje izvorni kod donirajući ga softveru Apache Foundation
- 2008: Solr 1.3 je izdan s poboljšanim mogućnostima pretraživanja i poboljšanjima performansi
- 2010: Spajanje Lucene i Solr
- 2012: Objavljena je Solr verzija 4.0, s novom značajkom Solr Cloud
- 2016: Objavljen je Solr 6.0 koji nudi podršku za izvršavanje paralelnih SQL upita
- 2017: Objavljen je Solr 7.0, s dodanim okvirom za automatsko skaliranje i JSON Facet API-jem.
- 2019: Izdan je Solr 8.0 s podrškom za ugniježđene dokumente i poboljšanim izrazima za strujanje
- 2021: Lucene i Solr su se ponovno razdvojili, a Solr je postao neovisni Apache projekt najviše razine
- 2022: Solr 9.0 je objavljen kao prva verzija neovisna o Luceneu, dodajući vektorsko pretraživanje i podršku za Kubernetes.
- 2026: Solr 10.0 objavljen je kao najnovija glavna verzija
Značajke Apache Solra
Evo važnih značajki Apache Solra:
- Automatsko balansiranje opterećenja
- Otvorena sučelja temeljena na standardima – XML, JSON i HTTP
- Podržane su preporuke i prijedlozi sricanja
- Podrška za automatsko dovršavanje i geoprostorno pretraživanje
- Ugrađena sigurnost za autentifikaciju i autorizaciju
- Omogućuje vam izvođenje višejezičnog pretraživanja ključnih riječi
- Autocomplete/Type-ahead Prediction
- Skupna i strujna obrada
- Izrada modela strojnog učenja jednostavna je
- Posebno optimiziran za veliki promet na webu
- Sveobuhvatna HTML sučelja za divljenje
- Podržava konfiguraciju Schema i Schemaless
- Fasetirano pretraživanje i filtriranje
- Centralna konfiguracija za cijelu Cluster
Ključni pojmovi koji se koriste u Apache Solr
Sada ćemo u ovom vodiču za tražilicu Solr naučiti o ključnim pojmovima koji se koriste u Apache Solru:
| Ključni pojam | Description |
|---|---|
| Jezgra Solr | Solr Core se može definirati kao indeks tekstova i polja izvedenih iz svih dokumenata. Jedna Solr instanca može imati jednu ili više Solr jezgri. Core = instanca Lucene indeksa + Solr konfiguracija |
| Solr instanca | Solr instanca je instanca Solra koji radi u Java Virtualni stroj (JVM). U samostalnom načinu rada nudi samo jednu instancu, dok u načinu rada u oblaku možete imati jednu ili više instanci. |
| Indeksiranje | Indeksiranje je metoda za dodavanje sadržaja dokumenta Solr indeksu. Apache Solr koristi tehniku Apache Lucene Inverted Index. |
| dokument | To je skupina polja i njihovih vrijednosti. Dokument je osnovna jedinica podataka pohranjena u Apache Core. Jedna Apache jezgra može sadržavati jedan ili više dokumenata. |
| Polje | Polje je par ključ-vrijednost koji pohranjuje stvarne podatke u dokumentu. Ključ određuje naziv polja, a vrijednost sadrži podatke tog polja. Dokument može imati jedno ili više polja. Apache Solr ga koristi za indeksiranje sadržaja dokumenta. |
| API-ji za odmor | Za komunikaciju sa Solrom nije potrebno koristiti Java programiranje. Umjesto toga, Apache Solr pruža opuštajuće usluge komunicirati s njim. Možete slati dokumente i primati rezultate u različitim formatima datoteka kao što su JSON, XML i CSV. |
| Pretraživanje cijelog teksta | Solr nudi značajke za pretraživanje cijelog teksta kao što su tokeni, fraze, provjera pravopisa, automatsko dovršavanje, zamjenski znakovi itd. |
| Administratorsko sučelje | Solr nudi korisničko sučelje jednostavno za korištenje, prilagođeno korisniku, s značajkama. Pomoću sučelja možete obavljati zadatke poput upravljanja zapisnicima, dodavati, brisati, ažurirati i pretraživati dokumente. |
| Usmjeren na tekst i razvrstan po relevantnosti | Apache Solr služi za pretraživanje tekstualnih dokumenata, a rezultati se isporučuju prema upitu korisnika. |
| Čvor | U Solr oblaku svaka pojedinačna instanca je poznata kao čvor. |
| Cluster | Klaster je skup čvorova. |
| Kolekcija | Klaster ima logički indeks koji se također naziva zbirka. |
| krhotina | To je mali dio zbirke koji nudi jednu ili više replika kazala. |
| Replika | Replika je kopija sharda koja se izvodi u čvoru. |
| Vođa | To je replika sharda, koja šalje zahtjeve Solr Clouda za ostale replike. |
Apache Solr Architektura
Sada u ovom vodiču za Solr pretraživanje, naučimo o Apache Solr-u Architekstura:

Apache Solr ugrožava sljedeće komponente
Pitanje
Parser upita analizira upite koje trebate proslijediti Solru. Provjerava vaš upit kako bi provjerio sintaktičke pogreške. Nakon parsiranja upita, prevodi ih u format koji je poznat Luceneu.
Rukovatelj zahtjevima
Zahtjeve poslane Apache Solru obrađuje program za obradu zahtjeva. Zahtjev može biti upit ili zahtjev za ažuriranje indeksa. Program za obradu zahtjeva morate odabrati prema svojim zahtjevima. Da biste proslijedili zahtjev Solru, morate mapirati program za obradu na određeni URL krajnja točka.
Odgovor Writer
Pisac odgovora će generirati formatirane izlaze za ulazne upite. Podržava različite formate kao što su XML, JSON, CSV itd. Možete imati različite pisce odgovora za različite vrste zahtjeva.
Rukovatelj ažuriranjem
Kada pošaljete zahtjev za ažuriranje Apache Solru, on se obrađuje kroz skup dodataka, potpis, zapisivanje i indeksiranje. Ovaj proces poznat je kao procesor zahtjeva za ažuriranje. Rukovatelj ažuriranjima također je odgovoran za izmjene poput dodavanja ili uklanjanja.ping podneseno, itd.
Apache Solr aplikacije
| primjena | Upotreba |
|---|---|
| Intranet portal |
|
| Federirani klijent |
|
| Skupovi podataka o instrumentima |
|
| Regulativni dokumenti |
|
| Ugrađeno u PLM aplikaciju |
|
Kako instalirati Apache Solr?
Korak 1) Otvorite web mjesto i nastavite s pretplatom
Idi na ovo link, kliknite "Nastavi na pretplatu".
Korak 2) Kliknite na Prihvati uvjete
Na sljedećoj stranici kliknite Prihvati uvjete.
Korak 3) Pričekajte neko vrijeme
Zatim, pričekajte neko vrijeme, a zatim, zahtjev je prihvaćen nakon nekog vremena.
Korak 4) Nastavite do Konfiguracije
Osvježite stranicu i kliknite "Nastavi na konfiguraciju"
Korak 5) Nastavite do pokretanja
Zadržite zadane postavke i kliknite "Nastavi na pokretanje".
Korak 6) Zadržite zadane postavke
Na sljedećoj stranici Zadržite zadane postavke
- Provjerite imate li pem datoteku ključa
- Kliknite "Pokreni"
Vidjet ćete ovu poruku o uspjehu
Korak 7) Obratite pažnju na javni DNS
U EC2 konzoli, zabilježite javni DNS svoje instance
Korak 8) Otvori dolje URL
Za pristup Solru, jednostavno koristite URL
http://publicdns:8983
u našem slučaju to postaje
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Napomena: Ako imate problema s pristupom instanci, promijenite ulazna i izlazna pravila u svojoj instanci kako biste omogućili sav promet kao što je prikazano u donjem primjeru Solr upita:
Elasticsearch vs. Apache Solr
| Parametri | Apache Solr | Elastična pretraga |
|---|---|---|
| Priroda | To je projekt otvorenog koda. | Nije projekt otvorenog koda. |
| Statički status | Statički u shema.xml | Statički u elasticsearch.yml |
| Format | XML, CSV, JSON | Samo JSON |
| indeks | Može se ponovno učitati tijekom izvođenja s ponovnim učitavanjem zbirke/jezgre | Definirano tijekom stvaranja indeksa/tipa s REST pozivom |
| Dokumentacija | To je dobro dokumentirano. | Loše je dokumentirano. |
| Razdvajanje krhotina | Moguć | Nije moguće |
Prednosti Apache Solra
- Pomaže vam smanjiti količinu vremena potrebnog za lociranje informacija
- To je brza, jednostavna, moćna i fleksibilna tražilica
- Pomaže vam da svoje proizvode i usluge učinite pristupačnijim
- Povećajte potrošnju korisnika na web aplikaciju
- Pomaže vam da poboljšate korisničko iskustvo na web aplikaciji kako biste povećali prihod i profit
- Sveobuhvatno administrativno sučelje temeljeno na HTML-u
- Fleksibilan i prilagodljiv s XML konfiguracijom
- Proširivi dodatak Architektura
- Vrlo skalabilna, robusna tražilica otporna na greške
- Podržava distribuciju, sjenčanje, replikaciju, Clustering i Multi-Node Architektura
Nedostaci Apache Solra
- To nije skladište podataka usklađeno s ACID-om
- Nije koristan kao primarna pohrana podataka. Korisno samo kao sekundarna pohrana podataka
- Ne nudi podršku za transakcije i distribuirane transakcije
- Ne podržava spojeve i složene upite
- Nije optimalno za normalizirane podatke










