Multimedialne bazy danych

Transkrypt

Multimedialne bazy danych
4
Multimedialne bazy danych
Andrzej Łachwa, WFAiIS UJ 2011
Full-Text Search in MySQL
11.9.1. Natural Language Full-Text Searches
11.9.2. Boolean Full-Text Searches
11.9.3. Full-Text Searches with Query
Expansion
11.9.4. Full-Text Stopwords
11.9.5. Full-Text Restrictions
11.9.6. Fine-Tuning MySQL Full-Text Search
11.9.7. Adding a Collation for Full-Text
Indexing
http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
Full-Text Search in SQL Server (2008)
•
•
•
•
•
Full-Text Search Overview
Full-Text Search Architecture
Administering Full-Text Search
Querying SQL Server Using Full-Text Search
Troubleshooting Full-Text Search
http://msdn.microsoft.com/en-us/library/ms142571.aspx
Filters – ekstrakcja tekstu bez znaków formatujących
z pól binarnych, np. doc
SQL Protocol Handler – dostęp do danych z tabel SQL
Servera
Word Breaker – wydzielanie słów z przechowywanych
tekstów (tokenizing)
Utrzymywanie indeksów FTS
• automatyczna aktualizacja danych (wpływa
niekorzystnie na wydajność bazy danych),
• ręczne przeładowanie indeksu (zwykle wymaga
długiego czasu),
• asynchroniczne przetwarzanie w tle (planowane na
czas niskiej aktywności użytkowników w bazie danych).
Full-Text Search in PostgreSQL (8.4)
12.1. Introduction
12.2. Tables and Indexes
12.3. Controlling Text Search
12.4. Additional Features
12.5. Parsers
12.6. Dictionaries
12.7. Configuration Example
12.8. Testing and Debugging Text Search
12.9. GiST and GIN Index Types
12.10. psql Support
12.11. Limitations
12.12. Migration from Pre-8.3 Text Search
http://www.postgresql.org/docs/8.4/static/textsearch.html
Tomasz Tomczyk
http://software.com.pl/wyszukiwanie-pelnotekstowe-full-textsearch-na-stronie-www/
„Pierwszą myślą, która może przyjść do głowy, jest
użycie do szukania konstrukcji LIKE. Jeśli ktoś chce
wycisnąć ze swojego serwera ostatnie poty, i
napisać supernieoptymalny kod, to polecam tę
metodę…
… O ile silnik bazy MyISAM posiada możliwość
założenia indeksu pełnotekstowego (fulltext), to
niestety najpopularniejszy, przynajmniej według
mnie, silnik InnoDB, wsparcia dla wyszukiwania
pełnotekstowego nie posiada. Jest kilka sposobów
na obejście tego problemu …
… znajdziemy dwa konkurencyjne rozwiązania,
które przyjdą nam z pomocą, a mianowicie: Lucene
(java) i Sphinx Search (C++).
Możliwości Lucene:
► indeksowanie zawartości plików wielu
formatów np. pdf, doc, email.
► wysoka skalowalność
► funkcjonalność jednoczesnego wyszukiwania i
aktualizowania indexu
► wbudowany mechanizm stronicowania
Wymagania systemowe: Java 1.5.x, ANT 1.7.0,
JUnit 3.8.2 (jeśli chcemy uruchamiać testy)
W pakiet Sphinx’a wchodzą cztery główne moduły:
► Indexer: główne narzędzie robocze używane do
tworzenia pełnotekstowych indeksów,
► Search: narzędzie do testowania stworzonych
indeksów,
► Searchd: jest do demon, dzięki któremu
zewnętrzne aplikacje mogą poprzez specjalne api
przeszukiwać nasze indeksy,
► Sphinxapi: jest to zbiór bibliotek udostępniających api dla różnych języków programowania, w
tym również dla PHP.
Co tak naprawdę Sphinx potrafi:
- szybkie indeksowanie (10 – 15 MB/sec)
- szybkie wyszukiwanie (150 – 250 zapytań/sec w
indeksie zawierającym ponad 1M wpisów i
fizycznym rozmiarze 1.2GB)
- wysoka skalowalność
- obsługuje rozproszone wyszukiwanie
- możliwość użycia go, jako silnika bazy MySQL,
przez co możemy odwoływać się do danych przy
użyciu składni SQL, podobnej jak przy zapytaniach
do indexu fulltextowego w silniku MyISAM
- obsługa morfologii dla języka angielskiego i
rosyjskiego
- natywne wsparcie dla MySQL oraz PostreSQL
… Kolejne alternatywy:
► użycie bazy PostgeSQL zamiast MySQL, która
ma lepsze wbudowane wsparcie dla wyszukiwania
pełnotekstowego.
► DataparkSearch napisany w C
► Ferret napisany w Ruby inspirowany Lucene
► mnoGoSearch napisany w C
► Xapian napisany w C++”
http://software.com.pl, 12.10.2011
Rafał Kosturek
http://it-onet.blogujacy.pl/2010/03/solrwydajna-platforma-wyszukiwania-pelnotekstowego/
„… SOLR (czyt. solar) to serwer wyszukiwania
pełnotekstowego bazujący na bibliotece Lucene.
Rozwijany jest przez Apache Foundation i
rozpowszechniany na licencji Open Source. Na
rynku wyszukiwarek umiejscawiany jest obok
produktów takich jak Sphinx czy Katta ...
… Solr napisany jest w Javie,
… Pełna obsługa, czyli wyszukiwanie, indeksowanie
i modyfikacja danych odbywa się przy pomocy
interfejsu HTTP/XML. Biblioteki dostępne są w dla
wielu popularnych języków a dane wyjściowe mogą
być zwracane w kilku formatach: XML/XSLT, JSON,
Python, Ruby lub PHP.
… Ze względu na skuteczność wyników, bardzo
istotny jest sam proces indeksowania danych –
typy tekstowe podlegają serii transformacji:
tokenizacji, stemmingowi, itp. …
… Dużą przewagą Solra na tle innych rozwiązań
jest funkcjonalność faceted search, przydatna
szczególnie w rozwiązaniach e-commerce.
… funkcja ta polega na grupowaniu wyników w
kategorie i zawężaniu kolejnych wyszukiwań.
… Tłumacząc to na przykład produktów w sklepie
internetowym, można je wyszukiwać po producencie, marce, zakresie cen, kolorze, czasie dostawy,
ocenie itd. Kategoryzacja następuje automatycznie
przez mechanizm wyszukiwarki, a funkcjonalność
ta możne być rozszerzona przez dodanie liczników.
… Jednym z parametrów serwera wyszukiwania
jest czas budowania indeksu. Dla testowego
przypadku 11 mln rekordów transport z bazy
danych i zaindeksowanie trwało kilkanaście
godzin. Może się to wydawać dużo, ale należy
pamiętać, że w typowych zastosowaniach
ładowanie całościowe odbywa się tylko raz. Solr
udostępnia bowiem funkcjonalność częściowych
aktualizacji. Nie chodzi tutaj tylko o dodawanie
danych, jak ma to miejsce w niektórych silnikach
wyszukiwawczych, ale również o ich modyfikację i
usuwanie.
… faceted search
… maszyna HP Proliant DL360 G4”
http://it-onet.blogujacy.pl/2010/03/solr-wydajna-platforma-wyszukiwania-pelnotekstowego/
Marcin Szeliga
http://www.wss.pl/baza-wiedzy/kurstransact-sql-czesc-5-wyszukiwanie-pelnotekstowe,1292
„…Usługa Microsoft Search pozwala na wyszukiwanie danych tekstowych na podstawie ich zgodności
z pojedynczymi słowami, frazami czy różnymi
formami danego słowa.
SQL Server wykorzystuje do wyszukiwania
pełnotekstowego obiekty dwóch typów:
► Indeks wyszukiwania pełnotekstowego (ang.
full-text index) przechowujący poszczególne słowa
występujące w tabeli, dla której został stworzony.
► Katalog wyszukiwania pełnotekstowego (ang.
full-text catalog).
…Indeksy wyszukiwania pełnotekstowego zapisane
są w katalogu wyszukiwania pełnotekstowego —
folderze utworzonym na dysku NTFS, do którego
uprawnienia posiada wyłącznie administrator
komputera i usługa Microsoft Search. Z reguły
jeden katalog wyszukiwania pełnotekstowego
tworzony jest dla jednej bazy danych.
Zadaniem usługi Microsoft Search jest tworzenie
indeksów wyszukiwania pełnotekstowego i
zarządzanie nimi oraz wykorzystywanie tych
indeksów w zapytaniach.
[Przykład]
sp_help_fulltext_catalogs zwraca informacje o wybranym katalogu wyszukiwania pełnotekstowego:
ID, NAME, PATH, STATUS, NUMBER_FULLTEXT_
TABLES gdzie STATUS oznacza jeden z poniższych
stanów katalogu:
0 — bezczynny,
1 — trwa pełne wypełnianie,
2 — zatrzymany z powodu niewystarczających
zasobów systemowych,
3 — wstrzymany,
4 — odtwarzany,
5 — wyłączony,
6 — trwa wypełnianie przyrostowe,
7 — trwa aktualizacja indeksów.”
[25.10.2011]
System zarządzania dokumentami (Document
Management System, DMS)
http://pl.wikipedia.org/wiki/System_zarz%C4%85dzania_doku
mentami
„[DMS to] … narzędzie informatyczne pozwalające
na przetwarzanie wszelkich form dokumentów
powstających w organizacjach. Przetwarzanie
dotyczy zarówno dokumentów wewnętrznych …
jak również dokumentów napływających z
otoczenia (np. zamówienia od klientów, faktury,
listy i inne).
Narzędzia OCR przetwarzają dokumenty z formy
papierowej (graficznej) w formę tekstową, dającą
się w prosty sposób indeksować i zapisywać we
wszelkiego rodzaju bazach danych.
Funkcje DMS-ów: rejestrowanie, porządkowanie,
klasyfikacja, system kontroli wersji, archiwizacja
danych, powiadomienia osobiste bądź dla grup
użytkowników o zmianach, monitorowanie plików
i folderów, obsługa różnych formatów plików,
operacje przenoszenia, wysyłania w obieg,
usuwania, zarządzanie obiegiem dokumentów.
Każdy dokument w DMS posiada metrykę
określającą informacje ogólne dokumentu. Dane
znajdujące się w metryce mogą być definiowane
przez użytkownika systemu.
Niektóre systemy zarządzania są zintegrowane z
systemami workflow, gdzie każda z osób pracuje
nad dokumentem na swoim poziomie kompetencji
a następnie przekazuje go kolejnym
pracownikom…”
[25.10.2011]
DMS: systemy zarządzania dokumentami
elektronicznymi (przegląd aplikacji Open Source)
http://webhosting.pl/DMS.systemy.zarzadzania.dokumentami.elekt
ronicznymi.przeglad.aplikacji.Open.Source?page=1
„Do pracy grupowej duże przedsiębiorstwa
wykorzystują najczęściej takie rozwiązania, jak
Microsoft SharePoint, DocPoint, pakiet IBM
FileNet P8 Platform czy EMC Documentum. Ich
wspólną cechą są jednak wysokie koszty
wdrożenia…
Opisywane w artykule programy OpenSource to:
LogicalDOC, OpenKM, Nuxeo, Owl oraz
KnowledgeTree.
[2009-01-05 ]

Podobne dokumenty