Anda dapat menggunakan PL/Perl
(CREATE FUNCTION
langof(text) LANGUAGE
plperlu
AS ...
) dengan Lingua::Identify
Modul CPAN.
Skrip Perl:
#!/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";
Dan fungsinya:
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$;
Bekerja untuk saya:
[email protected]=# select langof('Pójdź, kiń-że tę chmurność w głąb flaszy');
langof
--------
pl
(1 row)
Time: 1.801 ms
PL/Perl di Windows
Pustaka bahasa PL/Perl (plperl.dll) sudah diinstal sebelumnya di penginstal Windows terbaru dari postgres.
Tetapi untuk menggunakan PL/Perl, Anda memerlukan juru bahasa Perl itu sendiri. Secara khusus, Perl 5.14 (pada saat penulisan ini). Pemasang yang paling umum adalah ActiveState, tetapi tidak gratis. Yang gratis berasal dari StrawberryPerl
. Pastikan Anda memiliki PERL514.DLL
di tempat.
Setelah menginstal Perl, login ke database postgres Anda dan coba jalankan
CREATE LANGUAGE plperlu;
Perpustakaan identifikasi bahasa
Jika kualitas menjadi perhatian Anda, Anda memiliki beberapa opsi:Anda dapat meningkatkan Lingua::Identifikasi diri Anda (ini open source) atau Anda dapat mencoba perpustakaan lain. Saya menemukan yang ini , yang komersial tapi terlihat menjanjikan.