sql >> Databáze >  >> RDS >> Sqlserver

Naučte se ukládat a analyzovat dokumenty v systému souborů Windows pomocí SQL Server Semantic Search – část 1

Článek zkoumá ukládání nestrukturovaných dat pomocí nativní adresářové struktury Windows a jejich správu prostřednictvím databáze SQL Server. Následně si ukážeme, jak provést komparativní analýzu pomocí sémantického vyhledávání, abychom z dat získali cenné informace. Navíc získáte praktické zkušenosti s ukládáním a propojováním dokumentů v systému souborů Windows a používáním sémantického vyhledávání.

Pro začátečníky i profesionály s databázemi je velmi důležité vědět, jak aplikovat strategie ukládání souborů, jako je tabulka souborů, na vyhledávací technologie, jako je sémantické vyhledávání pro analýzu nestrukturovaných dat.

Předpoklady

Předpoklady uvedené v této části platí pro celý článek, který se skládá ze tří částí.

Koncepty tabulky souborů

Nebylo by na škodu mít základní znalosti o tabulce souborů používané v databázích SQL Server. Tato část článku nicméně poskytuje podrobné informace o tom, jak používat tabulky souborů pro ukládání dokumentů.

Koncepty sémantického vyhledávání

Vzhledem k tomu, že konečným cílem tohoto článku je provést srovnávací analýzu pomocí sémantického vyhledávání, důrazně doporučujeme, abyste si byli dobře vědomi základních pojmů následujících, zejména pokud máte zájem o implementaci návodu(ů):

  1. Koncepty sémantického vyhledávání.
  2. Základy srovnávací analýzy dokumentů.
  3. Základní použití sémantického vyhledávání.

Přečtěte si článek Jak používat sémantické vyhledávání SQL Server ke splnění výše uvedených požadavků za předpokladu, že máte základní dovednosti T-SQL.

Základy fulltextového vyhledávání

Kromě toho vám doporučujeme znát Fulltextové vyhledávání, které je nabízeno jako speciální doplněk vedle sémantického vyhledávání během instalace SQL Serveru.

Vezměte prosím na vědomí, že sémantické vyhledávání lze také považovat za rozšířenou funkci fulltextového vyhledávání, protože jej nelze implementovat bez splnění základních požadavků na fulltextové vyhledávání.

Další informace o fulltextovém vyhledávání naleznete v článku Implementace fulltextového vyhledávání v SQL Server 2016 pro začátečníky.

Instance SQL se používá

V tomto článku používáme verzi SQL Server 2016, ale provedením kroků by neměl být problém s novějšími verzemi až na několik výjimek.

Nastavení databáze s povoleným FILESTREAM

Musíme použít speciální druh databáze s názvem FILESTREAM Enabled Database ukládat dokumenty v systému souborů Windows a spravovat je pomocí databáze SQL.

Než budeme moci vytvořit tento speciální typ databáze, je třeba provést několik kroků.

Povolte FILESTREAM na úrovni instance

Jednou z prvních věcí, kterou musíte udělat, je povolit FILESTREAM na úrovni instance SQL Server.

Zadejte Konfigurace SQL Server 2016 (nebo verze vaší instance SQL, pokud je jiná než SQL 2016) ve vyhledávacím poli Windows, které se obvykle nachází v levém dolním rohu hlavního panelu, jak je znázorněno níže:

Kliknutím otevřete Správce konfigurace serveru SQL .

Vyhledejte svou instanci SQL, což je SQLTAB2016, a klikněte na ni pravým tlačítkem v našem případě a klikněte na Vlastnosti v části Služby SQL:

Zaškrtněte Povolit FILESTREAM pro přístup Transaction-SQL a Povolte FILESTREAM pro přístup k I/O souboru pod FILESTREAM tab. Zadejte vhodný název sdílené položky systému Windows také a klikněte na OK , jak je uvedeno níže:

Změnit úroveň přístupu FILESTREAM

Další věcí je změnit úroveň přístupu FILESTREAM z 0 na 2, pokud již nebyla změněna.

Spusťte následující skript T-SQL proti hlavní databázi:

-- Enabling FILESTREAM for SQL instance in use
EXEC sp_configure filestream_access_level, 2  
RECONFIGURE

Výstup je následující:

Pamatujte si, že je v pořádku, když spustíte výše uvedený skript, i když je FILESTREAM již nastaven na 2.

Vytvořte složku Windows pro uložení databáze

Vytvořte prosím složku systému Windows C:\Sample\Data kam se chystáte fyzicky uložit svou SQL databázi:

Můžete si vybrat jakoukoli jinou jednotku než jednotku C.

Vytvoření databáze s povoleným FILESTREAM

Pojďme nyní vytvořit novou databázi podporující FILESTREAM s názvem EmployeesFilestreamSample spuštěním následujícího skriptu T-SQL proti hlavní databázi:

-- Creating FILESTREAM enabled database
CREATE DATABASE EmployeesFilestreamSample
ON
PRIMARY ( NAME = EmployeesSampleData,
    FILENAME = 'c:\sample\data\EmployeesFilestreamSample.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = EmployeesSampleFilestreamGroup,
    FILENAME = 'c:\sample\data\EmployeesSampleFilestreamGroup')
LOG ON  ( NAME = EmployeesSampleLog,
    FILENAME = 'c:\sample\data\EmployeesFilestreamLog.ldf')
GO

Výstup je následující:

Databáze s povoleným FILESTREAM byla úspěšně vytvořena.

Zkontrolujte databázi povolenou FILESTREAM

Přejděte do Průzkumníka objektů a rozbalte EmployeesFilestreamSample databáze v části Databáze node pro zobrazení nově vytvořené databáze FILESTREAM Enabled.

Nastavit tabulku souborů

Jakmile vytvoříme databázi FILESTREAM Enabled, dalším krokem je nastavení tabulky souborů, který nám pomůže uložit naše dokumenty do systému souborů Windows.

Pojmenujte adresář FILESTREAM

Abychom mohli vytvořit tabulku souborů, musíme provést nějaké změny v hlavních vlastnostech databáze.

Klikněte pravým tlačítkem na databázi (EmployeesFilestreamSample ) v Průzkumníku objektů a klikněte na Vlastnosti :

Přejděte na Možnosti Stránka a název Název adresáře FILESTREAM jako EmployeesFilestreamDirectory, jak je znázorněno na následujícím obrázku:

Nastavte FILESTREAM Non-Transacted Access na FULL, jak je znázorněno níže, a klepněte na OK:

Klikněte na Ano na dotaz, zda je v pořádku změnit vlastnosti a ukončit všechna připojení:

Vytvořit tabulku souborů

Vytvořte novou tabulku souborů pro uložení dokumentů zadáním a spuštěním následujícího skriptu T-SQL:

USE EmployeesFilestreamSample

-- Creating Employees FileTable sample
CREATE TABLE EmployeesDocumentStore AS FileTable  
    WITH (   
          FileTable_Directory = 'EmployeesSampleFilestreamGroup',  
          FileTable_Collate_Filename = database_default  
         );  
GO

Prozkoumat tabulku souborů

Vyberte Databases=> dbo.EmployeeDocumentStore=>Tabulky =>FileTables => EmployeesDocumentStore.

Klikněte pravým tlačítkem na EmployeesDocumentStore a klikněte na Prozkoumat adresář FileTable , jak je uvedeno níže:

Oprava chyby umístění souboru (chyba Microsoftu)

Pokud jste schopni zobrazit složku, kde mají být dokumenty uloženy, pak můžete jít, ale pokud narazíte na následující chybu, musíte ji nejprve opravit:

OPRAVA:Při pokusu o otevření adresáře FileTable na serveru SQL dojde k chybě „Umístění souboru nelze otevřít“

Toto je chyba společnosti Microsoft potvrzená společností Microsoft:

Chcete-li tuto chybu opravit, musíte spustit kumulativní aktualizaci 11 pro SQL Server 2016 SP2.

Spusťte prosím opravu, která vyhovuje vaší instanci SQL na základě její verze, pokud nepoužíváte instanci SQL Server použitou v tomto článku a čelíte stejnému problému.

Stáhněte si aktualizaci, pokud je použitelná pro vaši instanci SQL, jak je uvedeno níže:

Abyste mohli pokračovat dále, musíte přijmout smluvní podmínky:

Po úspěšné instalaci aktualizace by se měla zobrazit následující zpráva:

Po vyřešení chyby umístění prozkoumat tabulku souborů

Nyní byste měli být schopni prozkoumat FileTable Directory:

Složku Windows lze nyní vyplnit vašimi nestrukturovanými dokumenty, jako jsou dokumenty MS Word, jak je znázorněno níže:

Vytváření a ukládání dokumentů MS Word pro zaměstnance

Vytvořte nový dokument MS Word a pojmenujte jej Asif Permanent Employee, jak je uvedeno níže:

Přidejte do tohoto dokumentu aplikace Word následující text a ujistěte se, že první řádek je název dokumentu:

Asif Permanent Employee
Asif is a very experienced Project Manager with a solid programming background and highly skilled to work on data warehouse business intelligence (BI) solutions.
He is a quick learner and can work on multiple technologies and tools.
He has excellent communication skills and his overall rating is very good.

Nezapomeňte dokument uložit.

Vytvořte další dokument MS Word a pojmenujte jej Petr stálý zaměstnanec s následujícím textem, kde první řádek je název dokumentu:

Peter Permanent Employee
Peter is a fresh Project Manager with a very strong programming background and highly skilled to work on data warehouse business intelligence (BI) solutions.
He can work with multiple teams and on multiple projects.
He has excellent business skills and his overall rating is good.

Nezapomeňte uložit dokument, který by měl obsahovat následující text:

Zobrazení uložených dokumentů

Chcete-li zobrazit, jak databáze SQL uložila tyto dokumenty, zadejte následující kód SQL:

-- View files stored on Windows File System managed by File Table in SQL Database
SELECT stream_id
      ,file_stream
      ,[name]
      ,file_type
      ,cached_file_size
	  ,creation_time
FROM EmployeesFilestreamSample.dbo.EmployeesDocumentStore

Výstup je následující:

Gratulujeme! Úspěšně jste nastavili databázi FILESTREAM Enabled pro ukládání dokumentů v systému souborů Windows spravovaném pomocí databáze SQL.

Jinými slovy, nyní můžete plně využívat systém souborů Windows tím, že pohodlně vytváříte a ukládáte nestrukturované dokumenty, zatímco na druhé straně můžete tyto uložené dokumenty plně spravovat prostřednictvím architektury konzistentní s databází.

Neodstraňujte prosím tyto dokumenty, pokud chcete pokračovat v návodu a zůstat v kontaktu, protože v další části tohoto článku provedeme srovnávací analýzu uložených dokumentů pomocí sémantického vyhledávání.


  1. Co je testování databáze a jak jej provádět?

  2. Emulátor vs úložiště na SD kartě zařízení Samsung

  3. Proveďte chvíli / smyčku, abyste získali 10 náhodných výsledků

  4. jak uložit PostgreSQL jsonb pomocí SpringBoot + JPA?