PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Phát hiện ngôn ngữ với dữ liệu trong PostgreSQL

Bạn có thể sử dụng PL / Perl ( CREATE FUNCTION langof(text) LANGUAGE plperlu AS ... ) với Lingua ::Nhận dạng Mô-đun CPAN.

Tập lệnh 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";

Và chức năng:

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

Làm việc cho tôi:

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

Time: 1.801 ms

PL / Perl trên Windows

Ngôn ngữ PL / Perl libary (plperl.dll) được cài đặt sẵn trong trình cài đặt Windows mới nhất của postgres.

Nhưng để sử dụng PL / Perl, bạn cần chính trình thông dịch Perl. Cụ thể, Perl 5,14 (tại thời điểm viết bài này). Trình cài đặt phổ biến nhất là ActiveState, nhưng nó không miễn phí. Một phần mềm miễn phí đến từ StrawberryPerl . Đảm bảo rằng bạn có PERL514.DLL tại chỗ.

Sau khi cài đặt Perl, hãy đăng nhập vào cơ sở dữ liệu postgres của bạn và cố gắng chạy

CREATE LANGUAGE plperlu;

Thư viện nhận dạng ngôn ngữ

Nếu chất lượng là mối quan tâm của bạn, bạn có một số lựa chọn:Bạn có thể cải thiện Lingua ::Tự xác định (nó là mã nguồn mở) hoặc bạn có thể thử một thư viện khác. Tôi đã tìm thấy cái này , mang tính thương mại nhưng có vẻ hứa hẹn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PgAdmin4 cho phép gỡ lỗi

  2. Kết nối Postgres đã bị đóng trong Spring Boot

  3. Cách nhận giá trị trung bình cho các khoảng thời gian trong Postgres

  4. PL / pgSQL thực hiện so với thực thi

  5. Tự động gửi thông số cấu hình không được công nhận trong PostgreSQL NodeJS