PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wykrywanie języka za pomocą danych w PostgreSQL

Możesz użyć PL/Perl (CREATE FUNCTION langof(text) LANGUAGE plperlu AS ... ) z Lingua::Identify Moduł CPAN.

Skrypt Perla:

#!/usr/bin/perl
use Lingua::Identify qw(langof);
undef $/;
my $textstring = <>;  ## warning - slurps whole file to memory
my $a = langof( $textstring );    # gives the most probable language
print "$a\n";

Oraz funkcja:

create or replace function langof( text ) returns varchar(2)
immutable returns null on null input
language plperlu as $perlcode$
    use Lingua::Identify qw(langof);
    return langof( shift );
$perlcode$;

Działa dla mnie:

[email protected]=# select langof('Pójdź, kiń-że tę chmurność w głąb flaszy');
 langof
--------
 pl
(1 row)

Time: 1.801 ms

PL/Perl w systemie Windows

Biblioteka języka PL/Perl (plperl.dll) jest preinstalowana w najnowszym instalatorze postgres dla systemu Windows.

Ale aby używać PL/Perla, potrzebujesz samego interpretera Perla. W szczególności Perl 5.14 (w momencie pisania tego tekstu). Najpopularniejszym instalatorem jest ActiveState, ale nie jest darmowy. Bezpłatny pochodzi z StrawberryPerl . Upewnij się, że masz PERL514.DLL na miejscu.

Po zainstalowaniu Perla zaloguj się do bazy danych postgres i spróbuj uruchomić

CREATE LANGUAGE plperlu;

Biblioteka identyfikacji języka

Jeśli zależy Ci na jakości, masz kilka opcji:Możesz ulepszyć Lingua::Zidentyfikuj się (jest to open source) lub możesz wypróbować inną bibliotekę. Znalazłem ten , który jest komercyjny, ale wygląda obiecująco.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zablokuj wiersze do następnego wyboru postgres

  2. Jak usunąć wiele tabel w PostgreSQL za pomocą symbolu wieloznacznego?

  3. Kompilacja libpq z iOS SDK 4.2

  4. Czy można określić unikalny indeks z wartościami NULL dozwolonymi w Rails/ActiveRecord?

  5. Jak odświeżyć wszystkie zmaterializowane widoki w Postgresql 9.3 na raz?