Fulltext vyhledávání pro vaši aplikaci v souborech v Azure Storage

Azure Blob Storage nabízí pro vaše aplikace a uživatele robustní, vysoce dostupný způsob uložení objektů, například PDF, Word či textových dokumentů. To všechno je dostupné přes jednoduché příjemné API, takže ať už pro uživatele děláte webovou stránku nebo mobilní aplikaci, je to snadné. Kolik práce by bylo nabídnout uživatelům možnost fulltextového vyhledávání obsahu v dokumentech s podporou češtiny? Málo! Použijeme Azure Search a je to, podívejte se jak.

Azure Search

Služba Azure Search je určena programátorům aplikací, kteří chtějí do svých produktů rychle a jednoduše dostat robustní funkce inteligentního vyhledávání. Podporuje 56 jazyků včetně češtiny a kromě jednoduchých dotazů můžete využí fuzzy logiku, proximity search, RegEx nebo term boosting. Výsledky můžete dále filtrovat, řadit a existuje i API pro automatické dokončování. Indexovat můžeme obsah blob storage, ale i Table Storage, Azure SQL či Azure DocumentDB. Na Azure Search se podívám někdy podrobněji, dnes si vyzkoušíme něco jednoduchého.

Fulltextové vyhledávání v souborech v Azure Blob Storage

Začal jsem tím, že jsem si vytvořil storage account a kontejner v blob storage a do něj nahrál následující textové soubory:

Pojďme si teď založit Azure Search

Pro naší jednoduchou ukázku nám postačí tato služba ve variantě zdarma.

Nejprve do Azure Search naimportujeme data.

Jako zdroj použijeme blob storage (namíříme na náš kontejner s dokumenty).

Zaškrtneme indexování obsahu dokumentů. Pro dnešek nechme stranou vysvětlení všech ostatních možností.

Protože vím, že jsou dokumenty v češtině, analyzátoru napovím (ale není to nutné, o tom někdy jindy).

Pak jen řekneme, jestli chceme data importovat jen jednou nebo pravidelně.

To je všechno! Vývojáři teď ve své aplikaci použijí vyhledávací API, .NET knihovnu nebo třeba hotový facelet. Pro naše vyzkoušení postačí query přímo z GUI, ať víme, co nám Azure Search vrací.

Zadejme něco jednoduchého (samozřejmě mohli bychom použít Lucene syntaxi a dělat dost mocné a složité vyhledávání) – slovo „psi“. Všimněte si množného čísla v dotazu, ale jednotného v samotném textu – Azure Search se o takové jazykové záležitosti postará a porozumí. Ve výstupu má vývojář nejen nalezenou část textu, ale také metadata, podle kterých například najde příslušný soubor (a umožní třeba uživatelům ho stáhnout).

 

Objektová storage (Azure Blob Storage) je velmi příjemná, levná, vysoce škálovatelná a spolehlivá (včetně možnosti georeplikace). Ideální místo pro vaše dokumenty. Azure Search vám pak nad tím dokáže zajistit fulltextové vyhledávání obsahu těchto souborů. Výborná kombinace.

Podobné příspěvky: