Apache Solr è un server di ricerca open source, libero, indipendente dalla piattaforma e ad alte prestazioni basato sul progetto Apache Lucene, che utilizza API XML / HTTP e JSON. Il progetto è attualmente in fase di incubazione presso Apache Software Foundation.
Caratteristiche a colpo d'occhio
Le funzionalità principali includono evidenziazione, ricerca sfaccettata, memorizzazione nella cache, replica, un'interfaccia di amministrazione basata sul Web, funzionalità avanzate di ricerca full-text, sono ottimizzate per il traffico web ad alto volume, nonché interfacce aperte basate su standard, come HTTP , XML e JSON.
Inoltre, è dotato di interfacce di amministrazione HTML complete, statistiche del server, replica automatica dell'indice, ripristino automatico e failover, quasi in fase di indicizzazione in tempo reale, adattabile e flessibile con configurazione XML e un'architettura plug-in estensibile.
Il progetto è schematizzato, permettendo all'utente di iniziare rapidamente con Apache Solr. Al momento sono supportate entrambe le modalità schema e schemaless, ma queste ultime porteranno a un forte ambiente di produzione.
Vari tipi di supporto sono supportati da Solr, compresi i tipi di campo, che ti aiuteranno a combinare gli analizzatori Lucene senza scrivere alcun codice. Inoltre, il progetto supporta campi dinamici che possono essere abilitati al volo.
Tra le altre caratteristiche interessanti, possiamo menzionare la funzionalità del campo di copia che consente agli utenti di analizzare facilmente lo stesso contenuto utilizzando metodi diversi, il supporto per tipi espliciti per eliminare la necessità di indovinare tipi di campi, configurazioni personalizzate basate su file esterni, come oltre a numerosi altri componenti di analisi del testo.
Sotto il cappuccio e la disponibilità
Da un'occhiata sotto il cofano di Apache Solr, possiamo notare che l'applicazione è stata scritta interamente nel linguaggio di programmazione Java e supporta distribuzioni a 32 bit e 64 bit di Linux, nonché Microsoft Windows e Mac OS X sistemi operativi.
Per tua comodità, è distribuito come archivio binario e sorgente, quindi puoi iniziare facilmente con Apache Solr nel minor tempo possibile e senza troppi problemi.
Che cos'è nuovo in questa versione:
- Il supervisore non può mai elaborare alcuni ultimi messaggi.
- Rinomina core in solr in modalità standalone non è persistente.
- L'analisi dei parametri rq di QueryComponent non considera più il parametro defType.
- Correggere NPE in SolrQueryParser quando i termini della query all'interno di una clausola di filtro si riducono a nulla.
Novità della versione nella versione:
- Oltre a molti altri miglioramenti nel framework di sicurezza, Solr ora include un AuthenticationPlugin che implementa l'autenticazione di base HTTP che memorizza le credenziali in modo sicuro in ZooKeeper. Questo è un modo semplice per richiedere un nome utente e una password per chiunque acceda alla schermata di amministrazione o alle API di Solr.
- In AuthorizationPlugin incorporato che fornisce un controllo a grana fine sull'implementazione di ACL per varie risorse con regole di permisssione memorizzate in ZooKeeper.
- L'API JSON Facet ora può cambiare il dominio per i comandi facet, essenzialmente facendo un block join e passando dai genitori ai figli o dai figli ai genitori prima di calcolare i dati facet.
- Grandi miglioramenti nelle prestazioni del nuovo Facet Module / JSON Facet API.
- Query e intervalli sfaccettati in Pivot Facets. Proprio come l'API JSON Facet, le faccette pivot possono come annidare altri tipi di sfaccettature come le facce di intervallo e di query.
- Altre opzioni simili a Query Parser. The MoreLikeThis QParser ora supporta tutte le opzioni fornite da MLT Handler. Il parser di query è molto più versatile del gestore poiché funziona in modalità cloud e ovunque sia possibile specificare una query normale.
- Aggiunto il supporto dell'API dello schema in SolrJ
- Aggiunta modalità di punteggio per join e blocco dei join in fase di query.
- Aggiunto il formato di risposta Sorriso
Novità nella versione 4.10.3:
- Solr 4.10.2 include 10 correzioni di bug, oltre a Lucene 4.10.2 e le sue 2 correzioni di bug.
Novità nella versione 4.6.1:
- Apache Tika 1.4
- Carrot2 3.8.0
- Velocity 1.7 e Velocity Tools 2.0
- Apache UIMA 2.3.1
- Apache ZooKeeper 3.4.5
- Correzioni di bug:
- SOLR-5408: risultati di CollapsingQParserPlugin errati quando si utilizzano più criteri di ordinamento
- (Brandon Chapman, Joel Bernstein)
- SOLR-5416: CollapsingQParserPlugin interrompe Tag / Escludi sfaccettatura
- (David Boychuck, Joel Bernstein)
- SOLR-5442: il client Python non può analizzare la risposta con proxy quando viene servito da Tomcat.
- (Patrick Hunt, Gregory Chanan, Vamsee Yarlagadda, Romain Rigaux, Mark Miller)
- SOLR-5445: le risposte con proxy devono propagare tutte le intestazioni anziché la prima per ogni chiave.
- (Patrick Hunt, Mark Miller)
- SOLR-5479: la logica del tentativo di SolrCmdDistributor si interrompe se non è possibile trovare un leader per la richiesta in 1 secondo.
- (Mark Miller)
- SOLR-5532: la convalida del tipo di contenuto SolrJ è troppo rigida per alcuni webcontainer / proxy.
- (Jakob Furrer, hossman, Shawn Heisey, Uwe Schindler, Mark Miller)
- SOLR-5547: la creazione di un alias di raccolta utilizzando CollectionRegest di SolrJ imposta il nome alias e le raccolte in alias sullo stesso valore.
- (Aaron Schram, Mark Miller)
- SOLR-5577: Probabilmente la scadenza di ZooKeeper non dovrebbe rallentare gli aggiornamenti di una certa quantità, ma tagliare gli aggiornamenti dopo un determinato periodo di tempo.
- (Mark Miller, Christine Poerschke, Ramkumar Aiyengar)
- SOLR-5580: NPE durante la creazione di un core con sia shard esplicito che coreNodeName.
- (YouPeng Yang, Mark Miller)
- SOLR-5552: il processo di ripristino Leader può selezionare il leader sbagliato se tutte le repliche di un frammento sono inattive e tentano di ripristinarsi, oltre a perdere gli aggiornamenti che avrebbero dovuto essere ripristinati.
- (Timothy Potter, Mark Miller)
- SOLR-5569 Una replica non dovrebbe provare a recuperare da un leader finché non ha pubblicato che è ACTIVE.
- (Mark Miller)
- SOLR-5568 Un SolrCore non può decidere di essere il leader solo perché lo stato del cluster dice che nessun altro SolrCore è attivo.
- (Mark Miller)
- SOLR-5496: dovremmo condividere un gestore di connessioni http su HttpClients non di ricerca e garantire che tutti i gestori di connessioni http vengano arrestati.
- (Mark Miller)
- SOLR-5583: ConcurrentUpdateSolrServer # blockUntilFinished può attendere per sempre se il servizio executor viene arrestato.
- (Mark Miller)
- SOLR-5586: tutti gli ZkCmdExecutor devono essere inizializzati con il timeout del client zk.
- (Mark Miller)
- SOLR-5587: Le implementazioni di ElectionContext devono utilizzare ZkCmdExecutor # ensureExists per garantire che i loro percorsi di elezione siano creati correttamente.
- (Mark Miller)
- SOLR-5540: HdfsLockFactory dovrebbe creare esplicitamente la directory genitore di blocco, se necessario.
- (Mark Miller)
- SOLR-4709: il core ricarica dopo la replica se i file di configurazione sono cambiati possono fallire a causa di una condizione di competizione. (Mark Miller, Hossman))
- SOLR-5503: riprovare le richieste 'inoltro verso leader' in modo meno aggressivo, anziché su IOException e stato 500, ConnectException.
- (Mark Miller)
- SOLR-5588: PeerSync non conteggia tutti gli errori di connessione con esito positivo.
- (Mark Miller)
- SOLR-5564: hl.maxAlternateFieldLength dovrebbe applicarsi al campo originale quando viene tentata la fallback
- (janhoy)
- SOLR-5608: non consentire a un SolrCore chiuso di pubblicare lo stato su ZooKeeper.
- (Mark Miller, Shawn Heisey)
- SOLR-5615: deadlock durante il tentativo di ripristino dopo una scadenza della sessione ZK.
- (Ramkumar Aiyengar, Mark Miller)
- SOLR-5543: gli scambi core hanno generato voci core duplicate in solr.xml quando si utilizza la persistenza solr.xml.
- (Bill Bell, Alan Woodward)
- SOLR-5618: corregge gli hit della cache falsa in queryResultCache quando hashCodes è uguale e esistono query duplicate sui filtri in una delle richieste
- (hossman)
- SOLR-4260: ConcurrentUpdateSolrServer # blockUntilFinished può tornare prima che tutti gli aggiornamenti aggiunti in precedenza siano terminati. Ciò potrebbe causare la perdita di aggiornamenti distribuiti destinati alla perdita di copie.
- (Markus Jelsma, Timothy Potter, Joel Bernstein, Mark Miller)
- SOLR-5645: Un ricaricamento di SolrCore tramite il CoreContainer proverà a registrarsi nuovamente in zk con il nuovo SolrCore.
- (Mark Miller)
- SOLR-5636: SolrRequestParsers esegue alcune ricerche xpath su ogni richiesta, che può causare problemi di concorrenza.
- (Mark Miller)
- SOLR-5658: commitWithin e overwrite non vengono distribuiti alle repliche ora che SolrCloud utilizza javabin per distribuire gli aggiornamenti.
- (Mark Miller, Varun Thacker, Elodie Sannier, shalin)
- Ottimizzazioni:
- SOLR-5576: Migliora la concorrenza quando ti registri e attendi che tutti i SolrCore registrino uno stato DOWN.
- (Christine Poerschke tramite Mark Miller)
Novità nella versione 4.6.0:
- Molti miglioramenti e miglioramenti per le opzioni di suddivisione dei frammenti
- New AnalyzingInfixLookupFactory per sfruttare AnalyzingInfixSuggester
- Nuovo CollapsingQParserPlugin per il collasso di campi ad alte prestazioni su campi di cardinalità elevati
- Nuove API SolrJ per la gestione delle raccolte
- Nuovo DocBasedVersionConstraintsProcessorFactory che fornisce il supporto per le regole di controllo delle versioni basate su documenti configurate dall'utente
- Nuovo formato indice predefinito: Lucene46Codec
- Nuovo tipo EnumField
Novità nella versione 4.5.1:
- Solr 4.5.1 contiene una serie di correzioni di bug, di cui 2 considerate piuttosto gravi.
Novità nella versione 4.5.0:
- Supporto di sharding personalizzato, routing migliorato e sfaccettatura multi-thread.
Novità della versione 4.2.0:
- Un'API REST lato lettura per lo schema. Hai sempre voluto introspettare lo schema su http? Ora puoi. Sembra che il lato della scrittura verrà dopo.
- DocValues sono stati integrati in Solr. DocValues può essere caricato molto più velocemente rispetto alla cache di campo e può anche utilizzare diversi algoritmi di compressione, nonché in RAM o su rappresentazioni del disco. Le domande su faccette, ordinamenti e funzioni possono trarne beneficio. Che ne dici del sistema operativo che gestisce la sfaccettatura e l'ordinamento delle cache dall'heap? Non è più necessario ottimizzare gli heap da 60 gigabyte? Che ne dici di un nuovo metodo di sfaccettatura DocValues per segmento? Sfaccettatura numerica migliorata? Dolce.
- Alias di raccolta. Hai dati basati sul tempo? Vuoi indicizzare nuovamente in una raccolta temporanea e poi scambiarla in produzione? Fatto. Restate sintonizzati per Shard Aliasing.
- Risposte API di raccolta. L'API delle collezioni era ancora molto nuova nella 4.0, e mentre migliorava un bel po 'in 4.1, le risposte erano certamente necessarie, ma mancavano il taglio. Inizialmente, abbiamo preso la decisione di rendere l'API di raccolta super fault tolerant, che ha reso le risposte più difficili da fare. Nessuno vuole cacciare i file di log per vedere come sono andate le cose. Fatto a 4.2.
- Interagisci con qualsiasi raccolta su qualsiasi nodo. Fino alla 4.2, si poteva interagire con un nodo nel cluster solo se ospitava almeno una replica della raccolta che si desiderava interrogare / aggiornare. Non più: effettua una query su qualsiasi nodo, indipendentemente dal fatto che abbia o meno una parte della raccolta desiderata e ottieni una risposta proxy.
- Consenti nomi di shard personalizzati in modo che i nuovi indirizzi host possano prendere il sopravvento sui frammenti ritirati. Lavorare su Amazon senza ips elastici? Questo è per te.
- Ottimizzazioni di Lucene 4.2 come i vettori di termini compressi
Novità della versione 3.3.0:
- Raggruppamento / collasso di campi
- Una nuova proposta di suggerimento / completamento automatico basata su automi che offre un consumo di RAM di dimensioni dell'ordine inferiore.
- KStemFilterFactory, un'implementazione ottimizzata di uno stemmer meno aggressivo per l'inglese.
- Solr imposta automaticamente un nuovo criterio di unione più efficiente (TieredMergePolicy). Vedi http://s.apache.org/merging per maggiori informazioni.
- Correzioni di bug importanti, compreso l'utilizzo di RAM estremamente elevato in controllo ortografico.
- Correzioni di bug e miglioramenti da Apache Lucene 3.3
Novità nella versione 3.2.0:
- Possibilità di specificare sovrascrittura e commitWithin come parametri di richiesta quando si utilizza il formato di aggiornamento JSON
- TermQParserPlugin, utile quando si generano query di filtro dai termini restituiti da fieldfaceting o dal componente terms.
- DebugComponent ora supporta l'uso di una NamedList per modellare gli oggetti Explanation nelle sue risposte invece di Explanation.toString
- Miglioramenti alle integrazioni UIMA e Carrot2
- Correzioni di bug e miglioramenti da Apache Lucene 3.2
Novità nella versione 3.2.0:
- Sono stati apportati miglioramenti all'aggiornamento JSON.
- Il cluster dei risultati di ricerca e l'integrazione con UIMA sono stati migliorati.
- I bug sono stati corretti.
I commenti non trovato