cari

Rumah  >  Soal Jawab  >  teks badan

python - Flask-whooshsqlalchemyplus中文分词搜索问题

伊谢尔伦伊谢尔伦2803 hari yang lalu936

membalas semua(2)saya akan balas

  • 怪我咯

    怪我咯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=#

    balas
    0
  • 天蓬老师

    天蓬老师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.

    balas
    0
  • Batalbalas