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.

  • 🔍 Definirano od strane Solra: Otvorenog koda, Java poslužitelj za pretraživanje izgrađen na Apache Luceneu.
  • 🗂️ Indeksiranje: Koristi invertirani indeks za pohranu i brzo dohvaćanje tekstualnih dokumenata.
  • 🌐 REST API-ji: Komuniciranje putem HTTP-a s JSON-om, XML-om ili CSV-om; ne Java potreban.
  • 🧩 Architekstura: Parser upita, program za obradu zahtjeva, program za pisanje odgovora i program za obradu ažuriranja.
  • ⚖️ Solr u odnosu na Elasticsearch: Solr podržava XML/CSV/JSON i dijeljenje fragmenata; oba koriste Lucene.
  • ☁️ Implementacija: Samostalni način rada ili SolrCloud s čvorovima, fragmentima, replikama i klasterima.

Vodič za Apache Solr

Š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 Architektura
Apache Solr Architektura

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
  • Jednostavan pristup pretraživanju
  • Pokretanje aplikacije
  • Obavijest o novostima i događajima
  • Jednokratna provjera autentičnosti
Federirani klijent
  • Pojednostavljena prezentacija
  • Pretražujte po svim sadržajima
  • Samo ovlašteni pristup
  • Gledanje dokumenata
Skupovi podataka o instrumentima
  • Optimizirano za znanstvenike
  • Izbornici ovisni o podacima
  • Specijalizirani mrežni filtri
Regulativni dokumenti
  • Dizajniran za istraživače
  • Bogati pristup metapodacima
  • Izvoz proračunske tablice
  • Pregledajte akcelerator dokumenata
Ugrađeno u PLM aplikaciju
  • Nudi bolje iskustvo pretraživanja nego što bi RDBMS mogao pružiti
  • Sigurnosni model kasnog povezivanja
  • Radnje dokumenta izložene na alatnoj traci

Kako instalirati Apache Solr?

Korak 1) Otvorite web mjesto i nastavite s pretplatom
Idi na ovo link, kliknite "Nastavi na pretplatu".

Instalirajte Apache Solr

Korak 2) Kliknite na Prihvati uvjete
Na sljedećoj stranici kliknite Prihvati uvjete.

Instalirajte Apache Solr

Korak 3) Pričekajte neko vrijeme
Zatim, pričekajte neko vrijeme, a zatim, zahtjev je prihvaćen nakon nekog vremena.

Instalirajte Apache Solr

Korak 4) Nastavite do Konfiguracije
Osvježite stranicu i kliknite "Nastavi na konfiguraciju"

Instalirajte Apache Solr

Korak 5) Nastavite do pokretanja
Zadržite zadane postavke i kliknite "Nastavi na pokretanje".

Instalirajte Apache Solr

Korak 6) Zadržite zadane postavke
Na sljedećoj stranici Zadržite zadane postavke

  • Provjerite imate li pem datoteku ključa
  • Kliknite "Pokreni"

Instalirajte Apache Solr

Vidjet ćete ovu poruku o uspjehu

Instalirajte Apache Solr

Korak 7) Obratite pažnju na javni DNS
U EC2 konzoli, zabilježite javni DNS svoje instance

Instalirajte Apache Solr

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

Instalirajte Apache Solr

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:

Instalirajte Apache Solr

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

Pitanja i odgovori

Oba su izgrađena na Apache Luceneu. Solr je potpuno otvorenog koda, podržava XML, CSV i JSON, omogućuje dijeljenje fragmenata i dobro je dokumentiran. Elasticsearch prihvaća samo JSON, ne podržava dijeljenje fragmenata i često se bira za analitiku u stvarnom vremenu.

Solr jezgra je indeks tekstova i polja izvedenih iz dokumenata, kombiniran s njegovom Solr konfiguracijom. Jedna Solr instanca može ugostiti jednu ili više jezgri, od kojih svaka djeluje kao neovisni Lucene indeks.

Apache Solr je HTTP omotač temeljen na REST-API-ju oko Apache Lucene-a, Java tražilica punog teksta. Lucene pruža invertirani indeks, dok Solr dodaje skalabilnost, konfiguraciju, REST API-je i administratorsko sučelje.

Umjetna inteligencija može dodati semantičko i vektorsko pretraživanje, modele učenja rangiranja i razumijevanje upita na Solr. To prikazuje relevantnije rezultate, obrađuje sinonime i namjeru te poboljšava automatsko dovršavanje i preporuke.

Da. Umjetna inteligencija može preporučiti polja sheme, analizatore i postavke predmemorije, otkriti spore upite i predložiti strategije dijeljenja i replikacije, pomoćping timovi podešavaju Solr za performanse i relevantnost s manje pokušaja i pogrešaka.

Sažmite ovu objavu uz: