Jeg har fået til opgave at tilføje geo tracking i en web app vi er igang med. Det involverer 2 opgaver:
- Indsamle brugernes position (længde- og breddegrad)
- Søgefunktion der viser en liste over brugere inden for en angiven radius
Den første er nem nok… vi har jo HTML5’s geolocation API.
Den tunge del er selve søgefunktionen. Her er der brug for software der er optimeret til opgaven, og jeg er i den forbindelse blevet anbefalet Elasticsearch, som jeg i første omgang eksperimenterer med, lokalt på min laptop sammen med Kibana og Sense:
Elasticsearch: Søge- og indekseringsmaskine baseret på Lucene
Kibana: Analysering- og visualiseringsplatform designet til Elasticsearch
Sense: En interaktiv konsol der installeres som plugin i Kibana og bruges til at sende forespørgsler til Elasticsearch fra en browser
NoteJeg var uopmærksom, og fik installeret Elasticsearch version 2 i stedet for version 5. Følg disse guides for installation af version 5: Elasticsearch version 5 installation via rpm Kibana version 5 installation via rpm Bemærk også at Sense er inkluderet i Kibana version 5 og således ikke skal installeres separat. Du åbner konsollen ved at gå til “Dev Tools” i Kibanas hovedmenu. Lige bortset fra det, er vejledningen god nok |
Installation på Fedora 23
Elasticsearch 2
… ja, jeg er doven, jeg gider ikke skrive sudo foran hver eneste kommando, så jeg starter med en ‘sudo su’
Jeg installerede i første omgang Elasticsearch fra Fedoras eget pakkesystem, men den version der ligger her, viste sig at være for gammel til Kibana. Derfor er det bedre at hente den fra Elasticsearch:
Opret .repo filen /etc/yum.repos.d/elasticsearch.repo:
Installer Elasticsearch… bemærk --enablerepo
parameteren der sikrer at vi henter fra Elasticsearch og ikke Fedoras eget pakkesystem:
Genstart systemd dæmonen og tilføj ES til autostart
Kibana 4
Kibana giver mulighed for visuel præsentation og realtidsanalyse af dine elastic data.
Hent og installer Kibana:
Tilføj Kibana til autostart
Sense
Bemærk: I version 5 af Kibana er Sense inkluderet og tilgås via “Dev Tools” i hovedmenuen, og nedenstående kan i så fald springes over.
Sense er en konsol hvor du manuelt kan hente, vise, tilføje og redigere data med ES kommandoer
Start Kibana og Elasticsearch
Tjek evt. at der nu lyttes på port 9200/9300 (ES) og 5601 (Kibana)
Nu kan du åbne er browser og gå til http://localhost:5601
For at bruge Sense, skal du gå til http://localhost:5601/app/sense