Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • cludobigdata cludobigdata
  • Project information
    • Project information
    • Activity
    • Members
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
Collapse sidebar
  • ext
  • cludobigdatacludobigdata
  • Wiki
  • Home

Last edited by Paweł Pierścionek Oct 30, 2019
Page history

Home

  • Do czego służy Cludo Big Data?
  • Co wyróżnia Cludo Big Data?
  • Jak podłączyć się pod Cludo Big Data ?
  • Przykładowe zapytania
    • Więcej przykładów
  • Co i kiedy jest dostępne w Cludo Big Data
  • Organizacja indexów
  • Streaming zmian / nowych wpisów
  • Kibana
  • Kibana/Sense

Do czego służy Cludo Big Data?

Cludo Big Data to nielimitowany dostęp do pełnej historii interakcji klienta w sytemie Cludo w formie dedykowanej bazy NoSQL.

es-diagramnosql-expert

Co wyróżnia Cludo Big Data?

Cludo Big Data zbudowana na klastrze ElasticSearch pozwala na :

  • częste odpytywanie o szczegółowe dane interakcji
  • częste odpytywania o agregaty lub statystyki
  • czasy odpowiedzi liczone w ułamkach sekundy
  • odpytywanie metodą REST przez prosty język zapytań
  • dodatkowy interfejs WWW Kibana do tworzenia dashboardów lub ręcznej analizy danych
  • dodatkowy interfejs WWW Sense do prototypowania zapytań JSON

Jak podłączyć się pod Cludo Big Data ?

Cludo Big Data udostępnione jest pod adresem http://ela.cludo.pl:9200 Dostęp do danych możliwy jest tylko po łączu prywatnym i wymaga posiadania loginu i hasła. (np. demo:demo 😉 )

Proste przeglądanie stanu bazy , indexów oraz testów zapytań można wykonywać przez plugin head.

Każdy z klientów posiada własny zbiór danych (indexów) dostępnych pod aliasem “customer-xx” gdzie xx to pierwsze dwie litery instancji. Alias wskazuje na zbiór indexów obejmujących kolejne tygodnie w danym roku np: customer-xx-201621 oznacza zbiór danych klienta xx z zakresu 21 tygodnia roku 2016.

Przeszukiwanie można wykonywać na całym zbiorze danych “customer_xx” lub ograniczyć się do wybranego tygodnia przeszukując konkretny index.

Pełen opis języka zapytań znajduje się pod adresem: [https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html]

Przykładowe zapytania

  1. Zapytanie o połączenia na numer 48600390338 bez ograniczeń czasowych:
curl http://demo:demo@ela.cludo.pl:9200/customer_demo/_search?q=session.DNIS:48600390338
  1. Zapytanie o ostatnie połączenie:
curl -XPOST "http://demo:demo@ela.cludo.pl:9200/customer_demo/_search/?pretty=true" -d '
{
  "fields": ["@timestamp","terminated_id","session.start","session.ANI","session.DNIS","session.service_last"],
  "query": {
    "match_all": {}
  },
  "size": 1,
  "sort": [
    {
      "@timestamp": {
        "order": "desc"
      }
    }
  ]
}
'

Więcej przykładów

W sekcji Snippets znajduje się lista przykładowych zapytań w formie JSON oraz przykładów zapytań z Pythona.

Co i kiedy jest dostępne w Cludo Big Data

Obecnie w Cludo Big Data dostępny są następujące obiekty:

typ opis schemat
jsonsession Obiekt opisujący historę jednego połączenia zewnętrznego , dostępny do 30 sekund po jego zakończeniu schemat
session Obiekt opisujący historę jednego połączenia zewnętrznego , dotępny do 30 sekund po jego zakończeniu schemat
config Obiekt opisujący konfigurację systemu contact center (opóźnienie do 5 minut) schemat

Organizacja indexów

Dokumenty przechowywane są w logicznych tygodniowych grupach / indexach o nazwach odzwierciedlających nazwę klienta oraz datę ISO YEARWEEK Format daty to +{xxxx.ww}.

W nowych instancjach BigData indexy dane w grupach miesięcznych. Nazwa indexu jest wtedy w formacie +{yyyy.MM}

Domyślny index o nazwie customer_xx, gdzie xx to pierwsze dwie litery głównej instancji klienta, jest aliasem do wszystkich indexów z dokumentami sesji.

Ilość danych (np z ostatnich 5 lat) do przeszukania w przypadku odwołania do tego aliasu może być znacząca. Zapytanie, nawet z ograniczeniem daty, uderza we wszystkie indexy i może się wykonywać powyżej sekundy.

**Zobacz jak zoptymalizować przeszukiwania pod kątem ostatnich danych. **

curl http://demo:demo@ela.cludo.pl:9200/<customer_demo-{now{xxxx.ww}}>,<customer_demo-{now-7d{xxxx.ww}}>/_search?q=session.DNIS:48600390338

Streaming zmian / nowych wpisów

Nowe instancje BigData posiadają pole updatedid w schemacie jsonsession, które jest monotonicznie rosnące dla każdego nowego dokumentu oraz każdej zmiany już istniejącego dokumentu. Dokumenty mogą być wzbogacane "wstecznie" np o informację o nagraniach związanych z transferami. Sesja może się już zakończyć ale nagranie i informacja o nim pojawi się dopiero po zakończeniu wytransferowanej rozmowy. W takich przypadkach periodyczne odpytywanie o dokumenty z updatedid > max(updatedid@last) z ostatniego zapytania pozwoli na pobieranie wszystich nowych oraz zmienionych dokumentów od ostatniego zapytania.

Kibana

Opis interfejsu Kibana znajduje się pod adresem [https://www.elastic.co/guide/en/kibana/current/discover.html] Dostęp możliwy jest po podaniu hasła i wyborze indeksu klienta.

Nadmiarowe prośby o login/hasło należy pomijać klawiszem ESC.

Kibana/Sense

Interfejs Sense do działania potrzebuje poprawnego URL do bazy. Przykładowy URL wraz z loginem i hasłem oraz indeksem klienta:

http://demo:demo@ela.cludo.pl:9200/customer_demo

.

..

...

Clone repository
  • Home
  • ostatnie tygodnie
  • schema:config
  • schema:jsonsession
  • schema:session