sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLのデータによる言語検出

    PL /Perl を使用できます ( CREATE FUNCTION langof(text) LANGUAGE plperlu AS ... )with Lingua ::Identification CPANモジュール。

    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";
    

    そして機能:

    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$;
    

    私のために働く:

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

    Windows上のPL/Perl

    PL / Perl言語ライブラリ(plperl.dll)は、postgresの最新のWindowsインストーラーにプリインストールされています。

    ただし、PL / Perlを使用するには、Perlインタープリター自体が必要です。具体的には、Perl 5.14(この記事の執筆時点)。最も一般的なインストーラーはActiveStateですが、無料ではありません。無料のものはStrawberryPerl から提供されます 。 PERL514.DLLがあることを確認してください 所定の位置にあります。

    Perlをインストールした後、postgresデータベースにログインして実行してみてください

    CREATE LANGUAGE plperlu;
    

    言語識別ライブラリ

    品質が懸念される場合は、いくつかのオプションがあります。Lingua::Identifyを改善するか(オープンソースです)、別のライブラリを試すことができます。 これ を見つけました 、これは商用ですが、有望に見えます。



    1. 同一サーバーのさまざまな計画

    2. TableView 編集列 JAVA FX

    3. mysql:「文字列」を0と比較するとtrueになるのはなぜですか?

    4. ページネーションクエリの行の総数を取得する