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 ]