Press "Enter" to skip to content

GOTO 2013 • Elasticsearch – Beyond Full-text Search • Alex Reelsen


Parlerò di elasticsearch
ovviamente non ho intenzione di parlare
le funzionalità di ricerca di testo completo ma
piuttosto come usarlo per trasformare il tuo
dati in informazioni prima di iniziare chi
ho usato effettivamente usando elasticsearch
in produzione va bene un paio che è giusto
qualcuno già continua e registra l’utente
anche un paio ma non troppo questo è
ottimo quindi sì, se vuoi twittare qualcosa
Mi piacerebbe di utilizzare l’elasticsearch
anche l’hashtag, quindi possiamo sostanzialmente vedere
cosa ne fai su Twitter prima di iniziare
potrei presentarmi, sono Alexander, sono un
comico elasticsearch questo significa
funzionalità di correzione dei bug Sto mantenendo il
debian e il pacchetto RPM quindi se
tutto sta andando male con il packaging
era molto probabile che mi stessi impegnando a
github repo non è sostenibile
modello di business chiamato la società
ricerca elastica attorno al prodotto
offrendo sviluppo e produzione
questo significa che speriamo che ti piaccia
alzati e correndo con la ricerca elastica
e ti stiamo anche aiutando nel caso tuo
il sistema di produzione impazzisce
un’altra cosa è che sto facendo allenamenti e
Posso parlare alle conferenze e a
Templare quindi il mio interesse principalmente Java
JavaScript e applicazioni web che ho
ho lavorato con elasticsearch da allora
circa due anni due anni e mezzo sono stato
lavorando per les Sixers da allora
un paio di mesi e abbiamo distribuito
compagnia quindi siamo sparsi ovunque
il mondo se il mondo è settentrionale
America ed Europa e io sono di base in
Monaco di Baviera, ma non abbiamo alcun modo in vendita
Ovviamente faccio un sacco di home office
quello che sto andando a parlare oggi di e
prima di iniziare fammi iniziare con un molto
ricerca molto comune e lascia che ti mostri
la ricerca è più di un testo completo
ricerca oggi spero quasi tutti
uno di voi lo riconoscerà
pagina è una pagina di ricerca github e se
inserisci una query di ricerca come elastica
cerca nella casella di ricerca che ti piace
molti si aspettano di ottenere risultati con
ricerca elastica ma ciò che è in realtà
accadendo in questa pagina è molto più di
semplicemente eseguendo una ricerca full-text se tu
dai un’occhiata a sinistra che ti può piacere
seleziona per lingua e questo non lo rende
solo una ricerca non strutturata di elastico
ricerca
ma aggiunge anche una sorta di struttura
per la ricerca simile a un modo un coreano
clausola segreta anche un motore di ricerca
in grado di arricchire i risultati della ricerca è
andando a tornare al cliente si può
vedi qui che la ricerca dell’elastico
la ricerca è effettivamente evidenziata ogni volta
è stato trovato in un nome di repository o
in un repository la descrizione è ordinata
qualcosa che è abbastanza ovvio di solito
un motore di ricerca è in ordine di pertinenza
ma se vuoi piacere, prendine un altro
guarda i tuoi dati che ovviamente devi
essere in grado di ordinare in base a numeri o stringhe
anche l’impaginazione è anche qualcosa
abbastanza ovvio che deve essere
supportato da qualsiasi struttura che ritorna
qualsiasi tipo di dati e dove si ottiene
di nuovo interessante e che lo faremo
copertina oggi in questa presentazione è il
aggregazione di dati che significa che tu sei
eseguire una query di ricerca come elastica
cerca ma tu in realtà vorrai
sapere come quello che è la distribuzione di
risultati come il linguaggio di programmazione
come Java Ruby JavaScript e così via
e questo tipo di aggregazione di dati
sarà coperto oggi in questo
presentazione qualcos’altro che è
più o meno evidente per la maggior parte di ricerca
motori oggi così come le capacità
di offrire suggerimenti e come puoi
vedi che non solo restituisce suggerimenti
ma anche arricchendoli con
evidenziando di nuovo perché la query di ricerca
è stato Debian e Debian è stato
evidenziato anche nei risultati e
questo è per tutti i tipi di funzionalità
come se intendessi correggere errori di battitura
la mosca prima che la gente accenda una ricerca
che non restituisce risultati che
tu praticamente non vuoi così prima di noi
avanti ho intenzione di iniziare con il
introduzione alla ricerca elastica in corso
per iniziare con questa diapositiva del bingo con password
quindi se ho solo questo tipo di diapositiva
molto meglio la descrizione migliore per l’elastico
la ricerca è uno schema di riposo libero e Jason
Bates ha distribuito il documento è a
negozio di documenti distribuiti con
Ovviamente ricerca e dati straordinari
capacità di estrazione e lo schema
libero è un po ‘ improprio oggi perché
è più simile a uno schema in meno e se tu
indicizzare i dati in esso
ricerca elastica cerca di capire cosa
tipo di dati che stai indicizzando come una data
o come un numero e automaticamente
estratto
questa meta informazione dai dati voi
stanno indicizzando il suo resto in JSON basato così
stiamo praticamente parlando di HTTP e
JSON spero di protocollo per un protocollo
nella notazione dell’oggetto ognuno dovrebbe
essere almeno capace di
comprensione e collaborazione con
sistemi che è distribuito sto andando a
mostra questo in un secondo ciò che capiamo
sotto il negozio di documenti distribuiti e il
il negozio di documenti in pratica significa che puoi
indicizzare qualsiasi oggetto JSON di un arbitrario
morte e puoi anche cercare su questo
tipo di dati è open source è il
Apache License 2.0, quindi puoi farlo
qualunque cosa tu voglia con noi non è così
richiede un sacco di configurazione per alzarsi
e in esecuzione ed è usato da un paio di
aziende e se si dà un’occhiata a loro
sembrano come se fossero usati solo da simili
aziende orientate alla tecnologia , ma queste sono
i primi giorni sono davvero un sacco di
aziende in ogni tipo di industria
che sta usando elasticsearch oggi zero
la configurazione non è come una parte della mia
slide di marketing prima ma è davvero
è facile scaricare l’archivio tu
decomprimilo o sei sul bersaglio e lo sei
eseguendo questo unico comando e
sei pronto per correre con la ricerca
L’appliance è praticamente l’ unica vera
la dipendenza dice che è Java, quindi dovresti
ha Java 7 più aggiornato perché Java
6 è fine vita ma funziona anche con
Java 6 Se vi piace costretto ad usarlo in
il tuo ambiente l’altra cosa carina
su questo è che puoi solo eseguire l’ultimo
comando un paio di volte nel tuo sistema
e hai subito un ammasso
il tuo taccuino locale con cui giocare
le funzioni distribuite quindi come stai
indicizzare e cercare i dati con elasticsearch
e questo è praticamente il primo
comando che devi eseguire non lo farò
parlare di arricciare come uno strumento è un comando
linea client HTTP è una specie di svizzero
Coltellino per tutto, quindi se tu
non lo so usarlo molto e quello che tu
può vederlo la prima riga è l’URL che
viene referenziato come localhost 9200
che è un porto elasticsearch su
i prodotti è un prodotto indice è un tipo
e uno è un ID e questo è come te
riferimento a un singolo documento perché l’URL
e il resto del documento è
fondamentalmente il corpo e di nuovo puoi vedere
è primario è lo stesso
J’son object è un oggetto JSON con a
la morte come ha un oggetto di prezzo che
dentro ha una rete e il valore fiscale e
se si passa attraverso questo per diverso
valori che sono dentro di esso
elasticsearch effettivamente lo riconosce
quello è un campo creato è un timestamp
e lo sta indicizzando come un timestamp
senza doverlo configurare
il nome upfront è ovviamente una stringa e
i campi del prezzo sono diversi perché
la rete appare come un intero e il testo è a
galleggiare tuttavia quando si impiegare questo per
la prima volta il valore netto del prezzo del punto
sarà sempre un numero intero che non è
quello che vuoi su una vita e su
sistema di produzione in modo da poter configurare
questo in anticipo ma per alzarsi e
in esecuzione non è necessario
eppure il testo è un float e dopo averlo fatto
indicizzato i dati con questo
URL potresti anche solo eseguire un HTTP
Richiedi una richiesta per riprenderla immediatamente
è fondamentalmente un vero archivio di dati
che puoi semplicemente inserire e ricevere dati
torna indietro se vuoi cercare dati in
il prossimo passo puoi vedere che c’è
un’altra chiamata in fondo alla ricerca
nell’indice prodotti con il tipo
prodotto ed eseguire la query per
Macbook e molto probabilmente otterrai
indietro il primo documento quindi questo è tutto
ti porta ad alzarti e correre con
elasticsearch
scaricare decomprimere iniziare e divertiti ero
parlando delle funzionalità distribuite
e ci sono due cose che ti piacciono
dividere l’applicazione distribuita in
la prima cosa che vuoi fare è
replica significa che in realtà sei
duplicazione dei dati e memorizzazione su
molte macchine questo ti offre
sorta di scalabilità di raggiungere perché tu
ora hanno effettivamente più fonti di interrogare
questo tipo di dati su ed è possibile eseguire
più query al secondo e il secondo
cosa sta rimuovendo un singolo punto di
fallimento anche se un sistema fallisce ma
hai i tuoi dati replicati è ancora
completamente disponibile e disponibile per la query
l’altra cosa che è importante in
sistema distribuito è la creazione di
dati questo significa che prendi un indice o a
raccolta di dati e dividerla
diverse macchine
la ragione principale di ciò sono i dati
diventa troppo grande per essere memorizzato su un singolo
macchina l’altra ragione per questo è
hai la giusta scalabilità
improvvisamente hai due sistemi che puoi
scrivi i tuoi dati a chi è quale
fondamentalmente spaventa e la terza cosa
potrebbe essere che si desidera controllare i dati
scorre se hai un cluster con una S in
criminali macchine forti e due sono
potreste essere molto forti e molto deboli
voglio indicizzare i tuoi dati attuali e
Clarry la tua pistola per i dati attuali su
corrente sulle potenti macchine così
cosa significa distribuito distribuito
fondamentalmente significa che puoi sparare a
nodo singolo con il comando digest
scudo e puoi creare un indice in
questo in questo caso è un ordine
indice e l’ indice dei prodotti e quando
crei un indice che puoi effettivamente
definire la struttura di un indice in a
ambiente distribuito in questo caso tu
dividerebbe l’indice degli ordini in simile
quattro parti che è il numero di colpi
e tu vuoi che ogni parte sia
replicato da qualche altra parte nel tuo
cluster questo è una sorta di contratto
stai definendo quando crei un indice
il secondo esempio con i prodotti
indice significa creare un indice con due
colpi ma tu non vuoi averlo
replicato da qualche parte come una sorta di backup
quindi se stai sparando una seconda nota
questo in pratica significa che il contratto
stava avendo quattro colpi e una replica
per ciascuno si realizzerà sul
secondo su entrambi i nodi questo significa ogni
i dati sono fondamentalmente doppiamente kated ora ma
è disponibile è completamente disponibile
e c’è una nozione di cosiddetto
scatti primari e replica quello con a
sfondo verde altro dove i dati
ottiene prima l’indice e poi viene copiato
alle repliche girate e al contratto di
l’indice dei prodotti in pratica significa I
voglio avere due colpi ma non voglio
per avere qualsiasi backup quindi se in questo
scenario il secondo nodo non riesce ancora
avere i miei dati completi dell’indice degli ordini
ma ovviamente perderò metà della mia
dati dei prodotti in Ex se inizi
su un determinato nodo in questo scenario
l’indice dei prodotti non cambierà affatto
perché il contratto è già
soddisfatto ma gli altri colpi lo faranno
in realtà mi piace distribuire la clausola
attraverso una nota appena aggiunta e lo farai
ora puoi chiudere tutte le note e tutte
i tuoi dati dall’indice degli ordini lo faranno
essere ancora disponibile così a parlare di
la ricerca elastica come prodotto è davvero
bello ma in realtà c’è un intero
sistema in giro e da quando abbiamo fondato il
azienda cerchiamo di creare un ecosistema
come i clienti come il tuo legame sblocca questo
ma la prima cosa che devi fare
sapere che è molto facile estendere il
funzionalità della cooperativa elasticsearch
prodotto è fondamentalmente solo un Google
applicazione di succo e forniamo ganci
per tutto così puoi creare il tuo
i propri plugin come la tua leucina
analizzatori come la funzionalità NLP
come le tue funzioni di aggregazione o
qualunque cosa tu voglia metti in un file zip
e questo è per installarlo come un plugin
nel tuo nodo elasticsearch così è
davvero facile da estendere anche noi
clienti per molte lingue ma il
il cliente è fondamentalmente solo un sottilissimo
strato di codice tra il livello HTTP di
ricerca elastica e la tua applicazione ma
la compagna rende le cose davvero semplici se
non devi preoccuparti come per l’apertura
Connessioni HTTP e chiudendole e
la scorsa settimana abbiamo rilasciato un paio di
client per Ruby Python PHP e perl as
clienti ufficiali upstream che possono essere
usato per creare il tuo object mapper
per esempio e c’è anche un paio di
sforzi basati sulla comunità per JavaScript
cliente per linea scarlatta per chiusura
client e molte altre lingue e persino
ci sono più clienti per il primo
quattro lingue scritte dalla comunità
perché volevano risolvere un certo
caso d’uso anche kibana è qualcosa che
Ho intenzione di mostrare in un secondo che
fondamentalmente ti permette di ottenere un
panoramica grafica dei tuoi dati che è
pensato in elasticsearch è un piccolo
Applicazione JavaScript che crea
ricerca elastica e crea grafici e
ti permette di creare dashboard che puoi
condividere con altre persone che sto per
mostra che in un secondo Laxus è un lockfile
aggregatore che sostanzialmente prende una pila
dei file di registro e li indicizza in
elasticsearch ma è in grado di arricchire
come con l’aggiunta di dati geografici per
un indirizzo IP quindi è più facile da interrogare
e abbiamo anche un’integrazione di hadoop
che consente query più veloci in alcuni
casi perché possiamo eseguirli
memoria e ritorno più veloce del solito
come far cadere la legna così era
introduzione il prossimo passo è che noi
stanno andando ad indicizzare alcuni dati e io sono
andando a mostrare come estrarre utile
informazioni al di fuori di esso
e
la domanda è che cosa sono i dati e nei miei termini
è tutto ciò che fornisce valore al tuo
affari e c’è una specie di
dati ovvi che è un dato di dominio come
i tuoi ordini o i tuoi prodotti, se lo sei
un negozio di e-commerce potrebbe essere
interno ma potrebbe anche essere esterno
se io sono una società di social media che
analizza i flussi di dati costanti di
Twitter o Facebook questo è il mio nucleo
valore del prodotto e questo è il dato I
bisogno di analizzare lo stesso vale per Gmail e
e-mail di cui hanno bisogno per la codifica dello spam e
filtraggio ma c’è anche meno ovvio
dati che in questo caso è un campione
dati dell’applicazione
ci sono file di log che potrebbero dirti
quando hai bisogno di accendere il tuo prossimo
istanza di ec2 perché lo stai facendo anche tu
molte richieste per i tuoi file statici
ci sono anche metriche come in-memory
i valori della tua applicazione che tu
vorrei monitorare e vedere cosa
succede con loro e reagire su determinati
eventi se cammini in una compagnia tu
vedremo che ci sono tonnellate di dati in più
come questo non due dati principali non
dati delle applicazioni ma forse qualcosa
che è lì sulla carta e tu lo faresti
voglio avere gli occhi digitali o qualsiasi altra cosa
e vedrai che molte cose di
dati che vorresti indicizzare e
ovviamente fai domande così puoi chiedere
domande ai tuoi dati e questi sono
domande semplici ma tu vuoi ancora
sappi immaginare che abbiamo questo indice di ordini I
ti ho appena mostrato con i quattro colpi e
una replica e dopo un po ‘di tempo
potrebbe voler sapere quanti sono assegnati
lì quanti ordini siamo riusciti a durare
mesi quanti ordini arrivano in per
giorno quali sono le entrate medie per il mio
il carrello all’interno di questo ordine è
in realtà una questione abbastanza radicata che
verrà per il tuo controllo
dipartimento e anche lo shopping medio
dimensione del carrello per ordine e vuoi forse
sappi questo per ora e ordine per scoprirlo
quando se il tempo di shopping massimo del mio
i clienti sono tutte domande che
prima o poi molto probabilmente apparirà
quindi, cosa possiamo fare per primi, siamo come sono
mostrandoti questo in formato
Per piacere, capisco il prossimo
domande che sto per mostrarti
quindi quale ordine è ovviamente un bel?
bestia complesso ma in questo esempio
ottiene un timestamp di creazione e ha un
totale e solitamente un ordine è come
elementi
e tag e la valuta e
stanno diventando davvero divertenti se inizi con
cancellazione dell’elemento fuori di esso perché quindi
devi ricalcolare il tutto
carrello della spesa quanti ordini sono
creato questo è in realtà qualcosa che
è davvero facile rispondere
elasticsearch perché tutto ciò che devi fare
è una richiesta HTTP GET sugli ordini
barra degli ordini sottolinea la barra degli ordini
e stai recuperando un numero ma
forse questo non è il più complesso
domanda di stampella che vuoi avere
rispose se vuoi sapere quale
gli ordini sono stati creati nell’ultimo mese
ancora questo è molto semplice
basta chiamarlo endpoint dell’ordine
conta di nuovo endpoint ma tu hai il modo
chiamata intervallo di query che semplicemente limita
tutti i risultati tra la prima data
e l’ultima data è maggiore di uguale a
e poi a livello anche se la domanda successiva
potrebbe essere il numero di ordini creati
al giorno in modo da avere un secchio di
come 30 giorni per il mese di settembre
e volete sapere come la possibilità di
25 ordini per cui devi ancora filtrare
mese ma devi anche creare
secchi e conteggio al giorno questo è dove
la sfaccettatura e l’aggregazione arrivano davvero
in se ricordi lo screenshot di github
dall’inizio le lingue e il
anche le informazioni di aggregazione erano semplici
un aspetto era solo un conteggio per Java
lingua era solo un conto per il
Ruby e il linguaggio JavaScript così è
solo una sorta di buco che ha
successo lì e puoi anche
semplicemente contiamo di giorno in questo caso tu
crea una cosiddetta sfaccettatura che tu gli dai a
nome come creato in questo caso tu
specificare un tipo come l’ istogramma della data e
il campo creato di cui faceva parte
gli ordini da indicizzare e tu devi
specificare un intervallo potrebbe essere una settimana
questo potrebbe essere un mese potrebbe essere un
trimestre dell’anno a seconda di quale
scala o tipo di scala dei dati che si desidera
a guardare e ovviamente stai andando
bisogno di questo tipo di filtro sfaccettatura che
semplicemente compilato i dati per il
mesi specifici quindi qual è la media
entrate per carrello della spesa, questo è cantare
che sta lentamente diventando interessante
un dipartimento di controllo e cosa tu
puoi davvero fare è puoi creare un
cosiddetto sfaccettatura statistica che
in realtà prende tutti i numeri dentro
il campo li aggiunge creane alcuni
valori statistici come media massima min
deviazione standard
anthro via e tu puoi fondamentalmente cosa
L’ho fatto è che sto accedendo al totale
valore campo e sto moltiplicando con
un punto zero zero punto uno nel caso in cui noi
hanno il 10% di entrate in ciascuna
carrello è probabilmente a
calcolo semplice perché vorrete
avere questo per prodotto se ne hai uno
enorme catalogo di prodotti e ne sto aggiungendo due
perché la maggior parte dei rivenditori di e-commerce fanno
i loro soldi in realtà con le spese di spedizione
e possono facilmente aggiungere una quantità statica
di denaro per le spese di trasporto e questo è
dove arriva la maggior parte delle entrate
basso budget è ordini quindi questo è tutto
bello ma questo non è davvero complesso
domande che posso fare con un po ‘
un po ‘ di sequel e quindi dove arriva
davvero interessante è come applicare
diverse sfaccettature contemporaneamente come sto prendendo
l’input di una faccetta come il
uno statistico e sto pubblicizzando questo
nel tempo come al giorno, quindi qual è il
valore medio dell’ordine o la media
dimensioni del carrello per ordine al giorno e
questo è dove le domande sono lentamente
diventando più complesso e questo è dove
che sta per essere complesso per elastico
ricerca perché è necessario combinare tutti
tipo di sfaccettatura arbitrariamente ora puoi
fallo con l’imminente rilascio di
meno ricerca 1.0 che è veramente flessibile
in questo caso e ho intenzione di mostrarti a
in seguito come funziona e ovviamente
puoi anche farlo semplicemente cambiando
i tuoi dati e reindicizzarli in base a come
già con un campo aggregato in a
calcolo e inserimento pre calcolati
questo nell’indice e quindi in esecuzione a
aspetto delle statistiche ma questo è un grande
problema perché ogni giorno la tua domanda
cambiamenti e avresti bisogno di cambiare
anche i tuoi dati e reindicandoli
ovviamente non scala, quindi tieni questo
in mente e torniamo più tardi
a quello e come risolverlo carino
facilmente un altro passo che vuoi fare
quando hai iniziato a estrarre il
primi tipi di informazioni il primo
bit di informazioni e tu sai
forse che cosa sta succedendo con i tuoi ordini?
è sì il tuo capo ti chiede di creare il
foglio di Axl quotidiano si vorrebbe avere
via email alle 8 del mattino e inizi a fare hacking
via questo meraviglioso XLI breve
Ruby e Java e no non vuoi
essere il braccio esteso del tuo capo e
afferrando combattimenti di log o simili
ordina i dati e fai questo ogni giorno a
modo diverso e Jason sé anche
non è una notazione compatibile con la gestione
che viene effettivamente restituito da
elasticsearch così puoi solo andare avanti
la richiesta al tuo capo e diglielo
essere felice e anche scrivere il tuo
app di visualizzazione per tutti i tipi di cose
questo non funzionerà a lungo
termine e questo è dove entra Cabana
a portata di mano perché Cabana è fondamentalmente aa
piccola cosa in cima a elasticsearch è
una propria applicazione JavaScript che è
in grado di interrogare elasticsearch ottenere indietro il
dati e ne ricavano meravigliosi grafici
continua su se stesso è che puoi fondamentalmente
basta clonare il repository github mettilo su a
web server e basta alzarsi e
Iniziando inizialmente con cosa puoi fare
Cubana è creare questo tipo di
cruscotti come in questo caso è un log
file di dati da un server web Apache
che forse è interessante sapere
la distribuzione di quanti file HTML
in realtà stai rimandando al tuo
cliente
quanti file PHP quante immagini e
puoi vedere in alto che c’è un
query per la fine di file per PHP PHP PNG
gif su CSS allora puoi vedere a
distribuzione nel tempo, quindi puoi essere carina
molto vedere che c’è un picco del traffico a
mezzogiorno e questo registro del server web così forse
è un pianificatore del pranzo , non so cosa
questo tipo di sito può essere e tu puoi vedere
puoi puoi usare un grafico a torta in questo modo
è un dashboard completamente configurabile
quindi puoi praticamente adattarlo al tuo
usa il caso e puoi salvare un dashboard
puoi condividerlo con il tuo capo e lui
può come approfondire ulteriormente i dati
se vuole, se ti piace, lo vuoi
sapere quante persone dalla Cina sono
l’accesso ai file HTML è molto semplice
per lui perché ha solo bisogno di modificare
query e il linguaggio di query è carino
ora semplice ma anche come un tema oscuro
significa che la parte importante di questa immagine è
ovviamente che ci sono due problemi
possiede all’interno di questa immagine e se tu
avere un blocco del server web che si estende su oltre 10
Gli apaches sarà piuttosto difficile
trova questo problema senza l’aiuto di
visualizzazione quindi questo tipo di strumento è
non solo un 8 per te
ma se stai indicizzando i file di log di Apache
può davvero aiutarti a identificarti
i problemi scoprono cosa sta andando male
e almeno sapere che qualcosa ha
andato storto alle 5:00 am questo non è più
probabilmente non è il momento in cui sarai
sveglio e controlla tutto il tuo registro webserver
file un’altra cosa che si può opzionalmente
fare nelle nuove uscite è possibile utilizzare geo
posizioni dei dati e come disegnarlo
su una mappa e potresti vedere come
altre persone in realtà provengono da
visitando il tuo sito o nel contesto
dei tuoi ordini puoi effettivamente scoprirlo
dove altre persone stanno ordinando la forma e
un’altra bella funzionalità è questa
posizione geografica non funziona solo per
punti di posizione specifici ma è possibile
anche se indicizzi il codice del paese iso
come de per la Germania come DK per la Danimarca
puoi usare un widget speciale che
in pratica ti disegna questa mappa del paese e
mostra la distribuzione su di esso come
puoi vedere nel sotto il widget
e puoi anche mostrare tendenze come te
può vedere che i tweet che sono divisi
per lingua in questo esempio che il
I tweet turchi stanno effettivamente salendo
8,33% in modo da poter vedere ciò che è in realtà
accadendo e cambiando nel tuo
applicazione e questo è un tipo di
le informazioni sul cruscotto che ti piacciono di più
questi come vuoi tu così questa è volontà
cos’è una piccola panoramica di Cabana cabana
è uno strumento molto carino che puoi creare
cruscotti che puoi lasciare alcune celle
aggiorna ogni 30 secondi così puoi farlo
naufragio montare un enorme LCD nel muro e
vedere in realtà ciò che sta accadendo nella vita
sistema ma la cosa è che tu sei sempre
guardando i dati che è una specie di in
passato e il prossimo passo tu opti
vorrebbe fare è come sapere cose
ora perché sono sicuramente eventi
che può succedere che tu voglia veramente
sapere nel momento in cui stanno accadendo
e se si prende una domanda arbitraria
totalmente indipendente da come è stato
implementati questi sono eventi che possono
assolutamente come il primo tu
avere un’applicazione per il checkout e
all’improvviso ci vogliono più di due secondi
il fornitore di servizi di pagamento per elaborare a
la risposta che hai inviato non è un problema
di per sé, ma questo potrebbe essere un problema
perché
il tuo fornitore di pagamenti è offline e
non sarai in grado di elaborare
qualsiasi cassa e si potrebbe fare, a
chiamarli per quello stesso discorso
rilevamento di frodi con carta di credito, forse è un
enorme ordine di diversi 10k e la frode
la rilevazione interviene e cancella questo tipo
di ordine forse vuoi saperlo
ed elabora manualmente che stai inviando
le tue visite pubblicitarie televisive
come l’esplosione che potresti voler far ruotare
diverse istanze di ec2 e se si dispone di un
sorta di voucher in questo televisore
commerciale e ne seguirà uno
minuto di questo spot televisivo
essere inviato che potrebbe essere un buon PR
per te un altro caso d’uso da un
prospettiva operativa è la memoria
l’uso supera la memoria fisica questo
in pratica significa che il tuo processo deve
scambiare e sarà lento questo
non significa che la tua applicazione sia
offline ma potrebbe indicare a
problema dopo tutto e questi sono tutti
eventi che non sono come portare il tuo
applicazione verso il basso ma si desidera reagire
su questo tipo di eventi e tu vuoi
conoscilo nel momento in cui stanno accadendo
e tu non vuoi controllare qivana da
i file di registro delle 5:00 am vedono forse io
avrebbe dovuto fare qualcosa a riguardo se
non sai che questo è da Java Volt
questa è una libreria chiamata metrica che
è una cosa davvero fantastica che è stata scritta
da Koda Halley che ha anche scritto la goccia
come una struttura web e il più ya
probabile libreria come quella in Java volt
Breve tedesco per il monitoraggio di Java è
biblioteca che è stata intorno per 10
anni e fondamentalmente ti permette di raccogliere
statistiche live all’interno del tuo
applicazione e si può avere
diversi tipi di metriche come
un metro che può misurare gli eventi
tempo come richieste al secondo che puoi
come avere un timer che può
misurare il tempo di esecuzione di qualcosa di simile
la connessione al tuo fornitore di pagamenti
API e creare statistiche statistiche
dati su di esso e questo è molto bello
funzione di controlli di salute che
fondamentalmente ti permettono di verificare se
qualcosa all’interno della tua applicazione
lavori di controllo comune Hadj sarebbe quello di
connettersi al database e vedere se
lavori
di solito le persone ora mi dicono ma io già
avere i miei fori di monitoraggio che si connettono a
il mio database e vediamo se funziona
ma non è un’informazione utile se tu
sapere che stai monitorando casa
in grado di connettersi a voi
database è informazioni utili da sapere
che la tua applicazione non è in grado di
connettersi al database e questo è
dove i controlli completi sono davvero utili
e le metriche possono riferire a elasticsearch
e anche se decidi di non usare
elasticsearch affatto dopo questo discorso I
sicuramente ti incoraggiamo a dare un’occhiata
la libreria delle metriche perché è fantastica
la libreria delle metriche da un punto Java di
la vista è abbastanza facile da usare, ne hai una
enorme classe chiamata registro metrico
dove sono tutte le metriche
registrato quindi è facile creare un
metro o timer come puoi vedere qui il
metro era uno da collezionare
valori statistici nel tempo come il
richieste al secondo il timer si vorrebbe
sii quello che usi quando vuoi
misurare per quanto tempo il tuo esterno
connessione al tuo fornitore di pagamenti
la durata è ma il problema principale con
la libreria delle metriche è sempre questa
dati di vita quindi è in aggiornamento in
sfondo e di nuovo è necessario memorizzare
questo tipo di dati live a volte
ovunque mi piace creare statistiche
su di esso e questo è dove la ricerca lastic
entra puoi fondamentalmente configurare il
metrica
biblioteca per segnalare ogni minuto più
probabile che elasticsearch abbia questo tipo
delle metriche iniziano lì e lo usano per
come pre-elaborazione in seguito sulle metriche
elporterearch reporter usa HTTP così
non ha bisogno di un enorme elasticsearch
dipendenza è indipendente dal
versione elasticsearch quindi non importa se
vedi uno o due più aggiornati
quello vecchio e ne ha un altro davvero
caratteristica davvero bella che si chiama a
notifica in tempo reale noi la nostra popolazione
in pratica la notifica in tempo reale
significa che puoi fare qualcosa se colpisci a
alcune metriche come lo spazio su disco utilizzato
per il momento il superamento del file system è del 90%
potresti volerlo sapere a riguardo
le cose segnalate sono disponibili nel
github repo ma prima di andare avanti dovrei
spiega cosa è la percolazione tranne a
bella caratteristica all’interno di elasticsearch il
il normale processo di indicizzazione dei dati è quello
indicizzate il documento ed eseguite una query
contro di esso come un MacBook indicizzazione e
Sto variando per MacBook e sto ottenendo
indietro questo tipo di dati ma immagino di esserlo
alla ricerca di MacBook con un prezzo di
200 euro che non è tanto non lo farò
ottenere un documento indietro ma mi può essere utile per
registra questa query per ricevere notifiche come
presto
questo tipo di dati è indicizzato e questo è
un caso d’uso classico per l’ implementazione di a
agente di prezzo e questo è dove a
il percolatore è davvero utile e tu
può se si tiene vicino l’aspetto del tuo
dati puoi immaginare cose piuttosto pazzesche
con esso ci sono clienti che lo usano per
classificazione come tornare indietro
sorta di testo e aggiungendo questo testo al
documento automaticamente e ovviamente tu
può usarlo per questo tipo di metrica
applicazione pure così questo è come te
fondamentalmente creare un supporto per la popolazione
perché così hai un elasticsearch
giornalista che funziona praticamente ogni 60 anni
secondi per riportare i suoi dati a
elasticsearch si registra notificatore come
un cercapersone notifica in questo caso e tu
applica i nomi delle metriche in questo
caso ogni metro la popolazione dovrebbe
correre contro di te deve fare una specie di
registrato e poi implementa il tuo
pagina e avvisare una classe e quant’altro
dovrebbe succedere lì molto probabilmente lo vuoi
per attivare una chiamata o si desidera attivare
Messaggio RabbitMQ che poi ottiene
inoltrato ad un’altra applicazione che
prende una sorta di azione insieme a
il giornalista di metrics elasticsearch che
è sull’account github elasticsearch
c’è anche una piccola applicazione di esempio
chiamato cockpit che è fondamentalmente due
le applicazioni una sono un’applicazione java
che legge costantemente un open
flusso dal governo degli Stati Uniti che mostra
quale sito è visitato in questo momento
nasa.gov o qualsiasi altra cosa e ci vuole un po ‘
metriche su questo e raccoglie quanti
linee al secondo vengono letti dal
stream e l’altra applicazione è questa
uno che è una piccola applicazione node.js
che fondamentalmente può solo disegnare fantastico
grafico usando d3 GS ovviamente e tu puoi
vedi il verde il rettangolo verde sul
lato sinistro e questo è fondamentalmente il
risultato di una notifica inviata a
questa app node.js e viene inoltrata da a
Connessione WebSocket a tutti i client
e questo significa che è fondamentalmente in tempo reale
nel momento in cui accade nelle metriche
giornalista è segnalato al cliente così
se vuoi giocare con esso controlla
fuori la piccola applicazione e vedere come
puoi ancora creare il tuo cruscotto
e il relitto lo monta al tuo muro nel
momento del relitto in cui vedo un pannello – cosa
il prossimo passo sarebbe ovviamente quello di piacere
passare dai dati a informazioni così adesso
è passato dai dati all’estrarre alcuni
informazioni di base ma vedere il
limitazione di questo tipo senza avere
di ricostruire i dati siamo in grado di piacere
ottenere una prima panoramica su di esso
siamo la visualizzazione e siamo finalmente
in grado di ricevere notifiche su di esso ma
quello che vogliamo veramente alla fine del
il giorno è come vogliamo sapere cosa facciamo
ho bisogno di fare il prossimo quindi è più simile
arrivare al business prevedibile e
la cosa sulla previsione delle cose è quella
è fondamentalmente piuttosto complesso il più
la cosa importante è che ti serve
dati a lungo termine questa è l’ unica possibilità
di come essere in grado di sapere cosa sta succedendo
succedere dopo
la visualizzazione è un inizio fantastico
perché Cubana vi aiuterà molto a
scopri quando raggiungi il prossimo
possibile livello di scala in cui è necessario
aggiungere hardware a qualcosa ma il
cosa più importante che è quello che dovete
tipo di salsa in questo tipo di dati
non puoi semplicemente spingerlo ad un servizio
e spero che ti risponda
informazioni utili quindi devi sapere
i dati e occorre conoscere i dati
formato e l’ultima cosa è che non lo è
un problema ci sono molte persone
all’interno della vostra azienda che hanno
domande sul tipo di dati che sei
indicizzazione in quale avrà
idee fantastiche cosa hanno sempre avuto
voluto sapere ma non ha il coraggio di chiedere
perché non ti piace mostrarli a
soluzione per estrarre facilmente i dati da a
enorme quantità di dati quindi c’è un nuovo
funzione chiamata aggregazioni che lo farà
vieni nella versione 1.0 elasticsearch
la cosa bella delle aggregazioni è
in pratica puoi prendere l’output di a
funzionamento sfaccettatura come i dati tramite
Graham il bucketing in valori al giorno
e usarlo come input per il prossimo tipo
di funzionamento come il calcolo del
valore medio del tuo carrello e
se ricordi qual è la media
valore del carrello per ordine all’ora
ora possiamo praticamente e facilmente rispondere
quello che sembra un po ‘di più
complesso rispetto all’ultimo ma se tu
dai uno sguardo usa le aggregazioni EGS
caratteristica specifichi un bel nome per questo
carrello medio all’ora ancora
Usa il
filtro data e i dati su Gram facet
ma tu usi il campo delle aggregazioni per
come maggiore calcola un totale del
media e questo è ciò che puoi ora
in realtà hanno lo svantaggio di questo
soluzione è in realtà crea un secchio
all’ora e poi valore medio questo
significa per un mese che stai per
avere come 30 volte x 24 secchi che
rende 720 penso o qualcosa in giro
quello e questo non è qualcosa che vuoi
disegnare facilmente così che cosa in realtà
voleva sapere molto probabilmente è il
la maggior parte dei miei clienti o il valore medio
del mio carrello
è più alto tra quindici e sedici anni
o quattro e cinque o cinque e sei
in punto dovresti cambiare questo
interrogare un po ‘e usare ancora a
sfaccettatura dell’istogramma o aggregazione dell’istogramma
ma usando lo script per accedere alla data
dal campo delle uova creato e giusto
creare un secchio all’ora del giorno e
questo significa che puoi facilmente rispondere
domande più complesse con il
aggregazioni perché puoi piacerti
arbitrario profondo ovviamente al costo di
alcune prestazioni perché queste sono tutte
nei calcoli della memoria ma è almeno
è possibile e questo dovrebbe essere creato
esattamente 24 secchi ciascuno per un’ora e
sommare il valore medio per il tuo
carrelli della spesa quindi questo è quello che io
incoraggiarti a porre domande complesse e
prova a estrarli dai tuoi dati per
esempio hai la pagina del prodotto
punti di vista che potrebbero essere interessanti ma se
puoi combinare la somma della pagina del prodotto
viste con la fascia di prezzo che è possibile
in realtà lo scopriamo abbastanza facilmente se
sei un negozio a basso budget o se sei il tuo
negozio premium in modo da poter effettivamente vedere
piuttosto bene cosa sono i tuoi clienti
pensando di pensare al tuo negozio
invece di come avere la percezione
cosa pensi che sia il tuo negozio in realtà
è un’altra cosa potrebbe essere la geolocalizzazione così
immagina un’enorme casa di mobili come
inviando una newsletter due volte a settimana
e si può decidere di scoprire

Please follow and like us: