python - Flask-whooshsqlalchemyplus中文分词搜索问题
伊谢尔伦
伊谢尔伦 2017-04-18 10:06:25
0
2
926
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(2)
刘奇

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=#
Peter_Zhu

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan