小伙看你根骨奇佳,潜力无限,来学PHP伐。
如果用的是 postgresql 資料庫的話,檢查一下你的資料庫的編碼是 UTF-8 嗎?可以在資料庫的 shell 中透過 l 查看資料庫資訊:
UTF-8
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 +
資料庫 shell 中可以進行中文搜尋不?可以透過下面的 sql 檢查:
SELECT to_tsvector('我们') @@ to_tsquery('我:*');
上面 db1 是 UTF-8 所以支援中文搜索,
postgres=# \c db1 db1=# db1=# SELECT to_tsvector('我们') @@ to_tsquery('我:*'); ?column? ---------- t (1 row) db1=#
db2 是 SQL_ASCII 不支援中文搜尋
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=#
你可以參考一下這個: https://www.v2ex.com/t/274600...
我之前用的flask-whooshalchemy,中文分詞效果也不好, 然後我用結巴jieba做了分詞表和索引,然後whooshalchemy搜分詞表. 效果還行.
如果用的是 postgresql 資料庫的話,檢查一下你的資料庫的編碼是
UTF-8
嗎?可以在資料庫的 shell 中透過 l 查看資料庫資訊:資料庫 shell 中可以進行中文搜尋不?可以透過下面的 sql 檢查:
上面 db1 是 UTF-8 所以支援中文搜索,
db2 是 SQL_ASCII 不支援中文搜尋
你可以參考一下這個: https://www.v2ex.com/t/274600...
我之前用的flask-whooshalchemy,中文分詞效果也不好, 然後我用結巴jieba做了分詞表和索引,然後whooshalchemy搜分詞表. 效果還行.