V Kibaně je možné v sekci Discover psát jednoduché full textové dotazy. Všechny nalezené dokumenty pak budou zobrazeny v tabulce. Díky našeptávání je pak psaní dotazů opravdu snadné.
V UI Kibany je na výběr z dvou různých syntax - Kibana Query Language (KQL) Query String (respektive Lucene query). Ta první má jednodušší syntax a je lépe integrována do Kibany, druhá zase nabí o něco více funkcionalit.
KQL dokumentace: https://www.elastic.co/guide/en/kibana/current/kuery-query.html
Nejsnazším způsobem vyhledávání je napsat dotaz do vyhledávacího pole:

Pokud není uvedeno, vyhledává se ve všech polích. Pro vyhledávání pouze v určitých polích je nutné je uvést:

Pokud je pole uloženo jako typ keyword, je nutné při vyhledávání uvést jeho přesnou podobu. Pokud je však uvedeno jako keyword, stačí shoda v libovolném slově. Například na poli category:

U polí typu text není nutné psát všechna slova v shodném pořadí. Pokud ale na dodržení pořadí trváme, lze použít frázové vyhledávání pomocí uvozovek:

Dotazy lze spojovat pomocí spojek AND, OR a NOT. Priority lze určit kulatými závorkami:

Filtrovat číselné hodnoty (nebo datum) lze pomocí >, <, >=, <=:

Pro vyhledání všech dokumentů, které obsahují dané pole s libovolnou (neprázdnou) hodnotou lze využít znak *:

Hvězdičku lze také využít pro částečnou shodu, což funguje perfektně s typem keyword. Například pro zobrazení všech e-mailů z domény richards-family.zzz:

Další možností filtrace dat v tabulce je využití filtrů - filters. Filtr lze vytvořit pomocí tlačítka plus (respektive minus) vedle každé hodnoty v tabulce. Nebo jej lze ručně definovat kliknutím na + Add filter:

Filtry a full textové dotazy lze kombinovat. Každý filtr může být upraven, dočasně zakázán, nebo může být invertována jeho logika:

Jakmile jsou query a filtry hotové, lze si je uložit pro pozdější použití:

Lze také uložit kompletně celou tabulku (včetně vyhledávání):

V neposlední řadě je také možné tabulku sdílet pomocí odkazu, nebo si data stáhnout jako CSV soubor:

Query String (nebo také Lucene Query) je alternativa k KQL. Lucene nám umožňuje psát o něco pokročilejší dotazy - například povolit vyhledávání s překlepy. Na druhou stranu však nefunguje našeptávání. Do módu Lucene se přepnete vypnutím KQL:

Syntax je až na pár odlišností podobná KQL
Vyhledávání ve všech polích: Shoes
Frázové hledání: "Men's Shoes"
Logické spojky (AND, OR): Man OR Women
Negace: NOT Shoes
Udávání priorit závorkami: (Man OR Women) AND Shoes
Kontrola existence pole: _exists_:category
Wildcard pro jeden znak (?) a více znaků (*): M?n Sh*
Regulární výrazy se píšou mezi lomítky: /Shoes?/
Fuzzy vyhledávání (překlepy): Shozes~
Rozsahy:
price:[0 TO 100]price:{0 TO 100}date:{* TO 2022-01-01}
Query string může být také součástí URL requestu, takže jej lze použít v dev tools, nebo také externí aplikaci dotazující se Elasticsearch. V tomto případě bude query uvedena jako parametr q endpointu _search:
xxxxxxxxxxGET kibana_sample_data_ecommerce/_search?q=Shoes
Uložte následující dokumenty do Elasticsearch:
xxxxxxxxxxPOST reviews/_doc{ "customer_id": 12932123, "email": "tom.k@gmail.com", "title": "8 Ball Pool", "comment": "It is a fun game but sometimes hard to control the cue.", "rating": 4, "date": "2022-02-21T15:29:50+02:00"}
POST reviews/_doc{ "customer_id": 13937931, "email": "jane.f@gmail.com", "title": "8 Ball Pool", "comment": "Cannot download even though it says I purchased.", "rating": 1, "date": "2022-02-18T12:22:40+02:00"}
POST reviews/_doc{ "customer_id": 13937931, "email": "jane.f@gmail.com", "title": "Yes Chef!", "comment": "Love it!", "rating": 5, "date": "2022-02-18T11:13:34+02:00"}
POST reviews/_doc{ "customer_id": 13937931, "email": "emanuel.s@yahoo.com", "title": "Barcode Scanner", "comment": "Works as expected.", "rating": 3, "date": "2022-02-12T08:12:32+02:00"}
POST reviews/_doc{ "customer_id": 12932123, "email": "tom.r@gmail.com", "title": "Catch the Ball", "comment": "This is fun too play. I absolutely love it!", "date": "2022-02-10T19:19:51+02:00"}
Vytvořte Data view pro index reviews. použijte date jako timestamp field.
Vytvořte tabulku v Discover s použitím data view reviews s použitím následujících sloupců (nezapomeňte změnit vhodně time range):

Napište vyhledávací dotazy, které vyfiltrují data:
Ball v titulku (pole title)customer_id větším než 12932200 a jejichž e-mailová adresa (pole email) končí gmail.comFeb 15 2022 a zároveň jejichž title není Barcode Scannertitle je přesně 8 Ball PoolratingsometimXes v poli comment — s povolenými překlepy