Lucene

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. april 2019; checks kræver 10 redigeringer .
Apache Lucene
Type søgning og programmering
Udvikler Apache Software Foundation
Skrevet i Java
Operativ system på tværs af platforme
Første udgave 30. marts 2000
Hardware platform Java virtuel maskine
nyeste version 9.2.0 [1] (23. maj 2022 ) ( 2022-05-23 )
Licens Apache-softwarelicens
Internet side lucene.apache.org
 Mediefiler på Wikimedia Commons

Lucene  er et gratis bibliotek til højtydende fuldtekstsøgning af Apache Foundation, brugt som grundlag i to af de mest populære replikerede søgemaskiner i midten af ​​2010'erne  - Elasticsearch og Solr . Skrevet i Java .

Udviklet af Doug Cutting i 1999, oprindeligt udgivet af forfatteren på SourceForge.net .  I 2001 blev det overført til Apache Foundation, hvor det oprindeligt blev udviklet som en del af Jakarta -projektet og flyttede i 2005 til status som et top-niveau projekt i fonden. Som en del af topniveauprojektet har Lucene affødt en række delprojekter, der er blevet uafhængige, blandt dem - Hadoop (initieret af Cutting og danner et stort økosystem af produkter), Nutch og Solr (som betragtes som en del af Hadoop-økosystemet ). Derudover bruges biblioteket som en intern mekanisme i en række projekter, herunder YaCy (decentral søgemaskine), CrateDB ( dokumentorienteret DBMS med SQL -understøttelse ), Swiftype (replikeret søgemaskine til organisationer) , DocFetcher ( lokal søgemaskine ).

Den vigtigste funktionelle egenskab ved biblioteket er at give skalerbar og ret højhastighedsindeksering (ca. 100 GB i timen på en masseklasseserver). Det oprettede indeks fylder cirka 20-30 % af størrelsen af ​​den originale tekst.

Søgealgoritmen understøtter rangeret søgning (bedste resultater vises først), fuzzy søgning , mange forskellige typer forespørgsler (sætningsforespørgsel, forespørgsler med jokertegn , søgning efter intervaller og andre), søgning efter metadataværdier (såsom titel) , forfatter, tekst) ). Søgning understøttes af flere indekser med mulighed for at kombinere resultater, sortering af søgeresultater efter forskellige felter er implementeret. Søgningen er mulig samtidig med indeksopdateringsprocessen. Bibliotekets logiske arkitektur repræsenterer ethvert dokument som et sæt tekstfelter, hvilket gør det muligt at fungere uanset formater , så snart tekstinformation kan hentes fra dem.

Porteret til mange andre programmeringssprog: C (Lucene4c), C++ (CLucene), Node.js , Go , Delphi (MUTIS), Perl (PLucene), Ruby (Ferret og RubyLucene), PHP (inden for Zend - rammen ), Lisp ( Montezuma), C# (Lucene.Net), Python (PyLucene).

Litteratur

Noter

  1. Lucene Change Log .

Links