Rumah > Soal Jawab > teks badan
怪我咯2017-04-18 10:08:25
Jika anda menggunakan pangkalan data postgresql, semak sama ada pengekodan pangkalan data anda ialah UTF-8
? Anda boleh melihat maklumat pangkalan data melalui l dalam shell pangkalan data:
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+-----------+-------------+-------------+-----------------------
db1 | owner | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/owner +
| | | | | owner=CTc/owner
db2 | owner | SQL_ASCII | C | C | =Tc/owner +
Adakah mungkin untuk mencari dalam bahasa Cina dalam shell pangkalan data? Boleh disemak melalui sql berikut:
SELECT to_tsvector('我们') @@ to_tsquery('我:*');
db1 di atas ialah UTF-8, jadi ia menyokong carian bahasa Cina,
postgres=# \c db1
db1=#
db1=# SELECT to_tsvector('我们') @@ to_tsquery('我:*');
?column?
----------
t
(1 row)
db1=#
db2 ialah SQL_ASCII dan tidak menyokong carian Cina
db1=# \c db2
db2=#
db2=# SELECT to_tsvector('我们') @@ to_tsquery('我:*');
NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored
?column?
----------
f
(1 row)
db2=#
天蓬老师2017-04-18 10:08:25
Anda boleh rujuk ini: https://www.v2ex.com/t/274600...
Saya menggunakan flask-whooshalchemy sebelum ini, tetapi kesan segmentasi perkataan Cina tidak bagus Kemudian saya menggunakan Jieba untuk membuat jadual dan indeks segmentasi perkataan, dan kemudian whooshalchemy mencari jadual segmentasi perkataan.