Adresaci szkolenia:

Szkolenie adresowane jest do osób zainteresowanych funkcjonalnością wyszukiwania pełnotekstowego i różnych spoosbów jej wykorzystania.

Cel szkolenia:

Uczestnicy dowiedzą się czym jest wyszukiwanie pełnotekstowe, zagadnienia z nim związane, jakie są możliwości jego realizacji oraz najlepsze praktyki. Dodatkowo poznają szeroką gamę produktów realizujących tą funkcjonalność uwzględniając rozwiązania zarówno bazodanowe jak i dedykowane biblioteki programistyczne, w szczególności te wiodące na rynku jak Apache Lucene, Apache Solr, Sphinx Search czy Hibernate Search. Po szkoleniu uczestnicy będą potrafili zaprojektować oraz oprogramować system dostarczający funkcjonalność wyszukiwania pełnotekstowego. Szkolenie traktuje temat w bardzo szerokim aspekcie tak, aby uczestnik był przygotowany do realizacji tego zadania tak, aby spełniło ono wszystkie wymagania oraz potrafił wybrać rozwiązanie najlepsze w danej sytuacji.

Mocne strony szkolenia:

Program obejmuje całościowo i wyczerpująco zagadnienia związane z wyszukiwaniem pełnotekstowym, przedstawia wiele ciekawych aspektów, typowe problemy oraz najlepsze praktyki. W przeciwieństwie do większości tego typu szkoleń, zawiera ono część warsztatową, która pozwoli na ugruntowanie wiedzy również w praktycznym jej aspekcie.

Wymagania:

Od uczestników wymagana jest podstawowa umiejętność znajomość baz danych i języka SQL oraz programowania w języku Java.

Parametry szkolenia:

3*8 godzin (3*7 netto) wykładów i warsztatów. Wielkość grupy: maks. 8-10 osób

Program szkolenia

  1. Koncepcja wyszukiwania pełnotekstowego
    1. Idea wyszukiwania pełnotekstowego (full-text search, FTS)
    2. Gdzie przydatne jest wyszukiwanie pełnotekstowe?
      1. Strony WWW
      2. Aplikacje webowe
      3. Bazy danych
      4. Poczta e-mail
  2. Wyszukiwanie pełnotekstowe w szczegółach, typowe problemy
    1. Użycie LIKE
    2. Realizacja
      1. Stop-słowa
      2. Lematyzacja
      3. Stemming
      4. Morfologia języków
      5. Indeksy TF-IDF
      6. Ocena dopasowania szukanego tekstu do tekstu znalezionego
      7. Wyszukiwanie aproksymacyjne
      8. Indeksy w bazie danych
        1. Konfiguracja indeksów w bazie danych
        2. Miejsce przetrzymywania indeksów
        3. Wydajne indeksowanie
        4. Utrzymywanie indeksów
        5. Transakcyjność
    3. Architektura separacji odpowiedzialności komend i zapytań (Command Query Responsibility Separation - CQRS)
    4. Rozproszenie wyszukiwania
    5. Przeszukiwanie pełnotekstowe w plikach różnego formatu (PDF, XML, MS Office, ...)
    6. Skalowalność
  3. Wsparcie wyszukiwania pełnotekstowego na poziomie źródeł danych
    1. Opensource'owe bazy danych
      1. MySQL
        1. Możliwosci Fulltext
        2. Realizacja
          • Tabele typu MyISAM
          • Wyszukiwanie z rozwijaniem zapytania, MATCH
      2. PostgreSQL
        1. Możliwości
        2. Realizacja
          • TSVECTOR column
          • Dedykowane indeksy
            1. GIN
            2. GiST
          • Utrzymywanie kolumny TSVECTOR
    2. Komercyjne bazy danych
      1. MS SQL Server
        1. Możliwości
        2. Realizacja
          • Reguły językowe
          • Dedykowany serwis
          • Tworzenie katalogów
          • Tworzenie indeksów unikalnych i FULLTEXT
          • Utrzymywanie indeksów FULLTEXT
          • Stoplisty
          • Synonimy
          • Zadawanie zapytań
            1. CONTAINS
            2. FREETEXT
            3. CONSTAINSTABLE
            4. FREETEXTTABLE
          • Rodzaje wyrażeń
            1. Proste
            2. Oparte o prefixowanie
            3. Z wariantami
            4. Oparte o bliskość elementów
            5. Ważone
        3. Dostępność w produktach Microsoft Exchange i Microsoft SharePoint
        4. Zalety i wady
      2. Oracle
        1. Możliwości Oracle Text
        2. Realizacja
          • Typy indeksów
            1. Standard
            2. Catalog
            3. Classification
            4. Substring
            5. Prefix
      3. IBM DB2
    3. NoSQL
  4. Wspracie wyszukiwania na poziomie dedykowanych bibliotek programistycznych i serwerów
    1. Apache Lucene
      1. Możliwości
      2. Realizacja
        1. Indeksowanie
          • Elementy
            1. Index
            2. Document
            3. Field
          • Klasy
            1. IndexWriter
            2. Directory
            3. Analyzer
            4. Document
            5. Field
          • Możliwości przetrzymywania indeksów (plik, pamięć, dowolna baza danych)
          • Utrzymywanie indeksów, strategie odświeżania indeksów
        2. Wyszukiwanie
          • Klasy
            1. IndexReader
            2. IndexSearcher
            3. Query
            4. QueryParser
            5. TopDocs/ScoreDocs
            6. Document
          • Typy zapytań (Term, Range, Prefix, Boolean, Phrase, WilCard, Fuzzy)
        3. Narzędzie do inspekcji indeksów - Luke
    2. Apache Solr
      1. Relacja z Apache Lucene
      2. Możliwości
      3. Przykłady wdrożeń
      4. Konfiguracja (Schema.xml, Solrconfig.xml)
      5. Realizacja
        1. Architektura
        2. Dokumenty
        3. Indexy
        4. Pola dynamiczne
        5. Pluginy
        6. Faceted search
          • Wprowadzenie
          • Przykłady zastosowania
          • Realizacja
    3. Sphinx Search
      1. Możliwości
      2. Realizacja
        1. SphinxAPI, SphinxQL,
        2. Główne moduły
          • Indexer
          • Search
          • Searchd
          • Sphinxapi
        3. Konfiguracja – plik sphinx.conf
        4. Budowanie indexów
        5. Zapytania
    4. Hibernate Search
      1. Możliwości
      2. Realizacja
        1. Integracja z Apache Lucene
        2. Konfiguracja: hiberante.cfg.xml i hibernate.properties, API do konfiguracji
        3. Architektura:
          • Index manager
          • Aktualizacja indeksu a transakcja
            1. Dwa tryby: no-scope i transactional
            2. Zalety trybu transactional: spełnienie ACID, wydajność
          • Indeksy współdzielone, środowisko klastrowe
          • Strategie czytania – współdzielone, niewspółdzielone (Reader Strategy)
          • DirectoryProvider (przetrzymywanie indeksu w pamięci, w systemie plików)
          • Ustawienia wpływające na wydajność (merge_factor, max_merge_docs itd.)
        4. Adnotacje Hibernate Search: Indexed, Analyzer, ClassBridge, DocumentId
        5. Mapowanie encji
        6. Hibernate Analyzer
        7. Typy zapytań: TermQuery, WildcardQuery, PrefixQuery, PhraseQuery i inne
        8. API do wyszukiwania: Query, QueryBuilder i inne
        9. Strategie przebudowywania indeksu
    5. Inne
      1. Solandra
      2. Elasticsearch
      3. DataparkSearch
      4. Ferret
      5. mnoGoSearch
      6. Xapian
      7. Google Custom Search Index

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email