we media
Tłumaczymy!
Jak ktoś dysponuje dobrą znajomością pl_pl i en_us oraz kilkoma godzinami wolnego czasu...
SQL przyszłości
Funkcje odpytywania tekstów w standardzie SQL
Ponieważ w pracy zajmuję się ostatnio trochę wyszukiwaniem pełnotekstowym (zwłaszcza dodatkiem tsearch2 do PostgreSQL), zastanawiałem się, czy doczekamy się kiedyś powszechnego standardu SQL dla odpytywania tekstów.
Tak żeby znający SQL człowiek, który podchodzi do swojego pięknego nowiutkiego "wypasionego" serwera nie musiał się zastanawiać co napisać, aby zmusić go do czarnej roboty.
Okazuje się, że już od jakiegoś czasu istnieje standard SQL/MM, który m.in. opisuje rozszerzenia pełnotekstowe.
Podaję przykłady zapytań, bo mówią same za siebie.
Tworzymy tabelę z polem pełnotekstowym:
CREATE TABLE dokumenty (
id INTEGER,
body FULLTEXT
)
Szukamy dokumentów, w których wyraz brzmiący podobnie do parboiled pojawia się w tym samym zdaniu, co słowo rice:
SELECT id
FROM dokumenty
WHERE body.CONTAINS(
' SOUNDS LIKE "parboiled"
IN SAME SENTENCE AS "rice" '
)
Szukamy dokumentów zawierających terminy bliskoznaczne do kontrola błędów (np. obsługa wyjątków):
SELECT id
FROM dokumenty
WHERE body.CONTAINS(
' THESAURUS "informatyka" EXPAND SYNONYM TERM OF "kontrola błędów" '
)
Standard definiuje też konstrukcje, których implementacja jest co najmniej nietrywialna:
SELECT id FROM dokumenty
WHERE body.CONTAINS( ' IS ABOUT "analiza leksykalna" ' )
ORDER BY body.SCORE( ' IS ABOUT "analiza leksykalna" ' )
Ładne, prawda? No w każdym razie dla mnie wygląda to bardzo sympatycznie.
Zachęcam do zerknięcia na cały dokument, jest do pobrania na stronie www.wiscorp.com.
Jednak nie wpadajmy w euforię.
Po pierwsze, SQL/MM Full-Text na razie jest tylko w ułamkowej części implementowany przez niektóre silniki bazodanowe.
Po drugie, relacyjne bazy danych mają swoje ograniczenia. Widoczne są one także na polu wyszukiwania "ze zrozumieniem" - bo w sumie do tego dążymy jak się chwilę zastanowić. Pisze o tym np. Curt Monash w artykule Relational DBMS versus text data.
Ryż paraboliczny
To dziwactwo siedzi w moim notesiku od jakiegoś czasu.
Robicie czasami zakupy w supermarkecie? No to pewnie traficie na ryż PARABOLICZNY.
Fatalna kal(e)ka z angielskiego parboiled (sparzony, podgotowany), które jakimś cudem wypączkowało najpierw do postaci paraboiled (tak, widziałem też takie), co w przekładzie na polskawy stało się przymiotnikiem paraboliczny.
Zapewne jakiś producent nie bardzo wiedział co sprzedaje.
Albo jednorazowa pomyłka jakiegoś projektanta opakowań.
Albo tłumacz nie dostał tyle kasy żeby wykonać swoją pracę na trzeźwo.
Swoją drogą zastanawiające, że taki drobny "bug" w głowie jednego człowieka ma zdolność propagacji podobną do wirusów.
Tak czy inaczej, przysporzyło mi to sporej dozy zdrowego śmiechu przy półce w supermarkecie.
Już zacząłem sobie wyobrażać jaką reakcję wywołałby ten fakt wśród matematyków. Na pewno wielu pokusiłoby się o sprawdzenie, czy wspomniany ryż faktycznie jest paraboliczny. Ale tak na moje oko to bliżej mu do elipsoidy.