代码之家  ›  专栏  ›  技术社区  ›  Mike Chamberlain

如何在PostgreSQL上实现中文全文搜索?

  •  11
  • Mike Chamberlain  · 技术社区  · 14 年前

    这个问题以前被问过:

    Postgresql full text search in postgresql - japanese, chinese, arabic

    但据我所知,汉语没有答案。我看了一下OpenOffice维基,它没有中文字典。

    编辑 :因为我们已经成功地将pg的内部fts引擎用于英语文档,所以我们不想移动到外部索引引擎。基本上,我要找的是一个中文FTS配置,包括用于简体中文(普通话)的语法分析器和字典。

    3 回复  |  直到 9 年前
        1
  •  4
  •   Rui Pacheco    9 年前

    我知道这是一个老问题,但有一个中文的Postgres扩展: https://github.com/amutu/zhparser/

        2
  •  3
  •   simon ArrowInTree    12 年前

    我刚刚在PostgreSQL中实现了一个中文FTS解决方案。我通过从中文输入中创建NGRAM令牌,并创建必要的 tsvector 使用嵌入函数 plpythonu )它工作得很好(比迁移到SQL Server要好得多!!).

        3
  •  2
  •   simon ArrowInTree    11 年前

    用solr索引数据,它是一个建立在Lucene之上的开源企业搜索服务器。

    您可以在这里找到有关SOLR的更多信息:

    http://lucene.apache.org/solr/

    以下是一本关于如何(立即下载pdf)的好书:

    https://www.packtpub.com/solr-1-4-enterprise-search-server/book

    并且一定要使用中文标记器,比如solr.chinesTokenizerFactory,因为中文不是空格分隔的。