Apache Solr

Solr
logo
Autor Apache Software Foundation
Pierwsze wydanie 2004
Aktualna wersja stabilna 8.3.1 – 3 grudnia 2019; około 6 lat temu
Język programowania Java
System operacyjny Wieloplatformowy
Rodzaj biblioteka programistyczna (indeksowanie i wyszukiwanie danych tekstowych)
Licencja Apache License
Strona internetowa

Solr (wym. „solar”) – otwartoźródłowa platforma wyszukiwania, napisana w Javie, będąca częścią projektu Apache Lucene. Główne możliwości platformy Solr obejmują: wyszukiwanie pełnotekstowe (z funkcjami typu wyróżnianie trafień, sugestie terminów oraz sprawdzanie pisowni), wykrywanie języka, wyszukiwanie fasetowe (ang. faceted search), dynamiczne klastrowanie oraz obsługę formatów takich jak np. MS Word (doc/docx) czy PDF (ang. rich documents support). Indeksowanie danych następuje w czasie bliskim do rzeczywistego (ang. near real time, NRT).

Solr został zaprojektowany pod kątem skalowalności i odporności na uszkodzenia (funkcje wyszukiwania rozproszonego i replikacji indeksu). Solr jest szeroko stosowany w systemach wyszukiwania korporacyjnego i analiz, ma aktywną społeczność programistów i regularne wydania.

Zarówno Apache Lucene jak i Apache Solr są obecnie rozwijane przez ten sam zespół programistów w Apache Software Foundation.

Historia

Sposób działania i użycie

Solr działa jako samodzielny serwer wyszukiwania pełnotekstowego. Jako silnik do indeksowania i wyszukiwania pełnotekstowego wykorzystuje bibliotekę wyszukiwania Apache Lucene (która w ramach wspólnego projektu nosi nazwę Lucene-core). Udostępnia interfejsy API oparte na HTTP + JSON / XML podobne do podejścia REST (ang. REST-like), co pozwala na łatwą integrację z aplikacjami i serwisami bez konieczności kodowania w języku Java. Dzięki zastosowanej architekturze „wtyczek” pozwala na rozszerzanie jego funkcji i dostosowanie do wielu rodzajów aplikacji. Dla platformy Solr jest dostępnych szereg bibliotek klienckich m.in. dla języków C++, C#, Java, PHP, Python, Ruby, Scala i innych.

Aby przeszukać dokument, Apache Solr wykonuje kolejno następujące operacje:

Użytkownicy systemu Solr

Solr jest używany m.in. przez firmy Adobe, AOL, Apple, AT&T, Bank of America, Bloomberg, Cisco, Disney, E-Trade, Ford, The Guardian, Instagram, MTV Networks, Netflix, SourceForge, Verizon, Walmart i Zappos(inne języki), jak również przez serwisy instytucji takich jak Departament Bezpieczeństwa Krajowego Stanów Zjednoczonych, NASA Planetary Data System oraz Whitehouse.gov.

Solr udostępnia standardowe interfejsy API HTTP typu REST z obsługą XML i JSON i integruje się z dowolnym systemem lub językiem programowania obsługującym te standardy. Dla ułatwienia dostępne są również biblioteki klienckie dla Java, C#, PHP, Python, Ruby i większości innych popularnych języków programowania.

Przypisy

  1. ↑ Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene™. Apache Software Foundation. [dostęp 2019-12-12]. (ang.).
  2. 1 2 3 4 5 Grainger Trey, Timothy Potter, Yonik Seeley: Solr in action. Manning Cherry Hill, 2014.
  3. ↑ Solr Features. Apache Software Foundation. [dostęp 2019-12-12]. (ang.).
  4. ↑ Result Clustering. Apache Software Foundation. [dostęp 2019-12-12]. (ang.).
  5. ↑ Near Real Time Searching. Apache Software Foundation. [dostęp 2019-12-12]. (ang.).
  6. 1 2 Solr 1.2 Changelog. Apache Software Foundation. (ang.).
  7. 1 2 3 4 Apache Solr Release Notes. Apache Software Foundation. [dostęp 2019-12-12]. (ang.).
  8. ↑ Support - Solr Wiki. [dostęp 2017-01-16].
  9. ↑ Apache Solr - News. [dostęp 2017-01-16].
  10. ↑ [SOLR-6733 Umbrella issue - Solr as a standalone application - ASF JIRA]. [dostęp 2017-01-16].
  11. ↑ Solr 5.3 Release announcement. [dostęp 2015-09-24].
  12. ↑ 12 May 2022, Apache Solr™ 9.0.0 available.
  13. ↑ IntegratingSolr. Apache Software Foundation. [dostęp 2019-12-12]. (ang.).
  14. ↑ Jim Jagielski, Sally Khudairi: 20 innovative Apache projects. Opensource.com, 2019-03-26. [dostęp 2019-12-13]. (ang.).
  15. ↑ Erstellung einer Spring Boot-Anwendung mit Apache Solr für Suchfunktionen. 2018-12-12. [dostęp 2019-05-14].
  16. ↑ IntegratingSolr - Solr Wiki. [dostęp 2017-01-16].