美文网首页
PostgreSql全文索引

PostgreSql全文索引

作者: 芼芼567 | 来源:发表于2022-12-19 16:20 被阅读0次

    新需求,这次要做个日志的全文索引,前情提要:老板要求把所有日志都保存到数据库,方便查询,并且要全文搜索。那用like的方法当然会很慢啦,所以要做个全文索引

    准备

    1. 保证所用pg版本在9.2以上
    2. SCWS
    3. zhparser

    安装插件

    # 安装scws
    wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xf -
    cd scws-1.2.3 ; ./configure ; make install
    # 安装zhparser
    git clone https://github.com/amutu/zhparser.git
    make && make install
    

    使用

    1. 在pg中开启插件
    CREATE EXTENSION zhparser;
    
    1. 新建索引配置
    CREATE TEXT SEARCH CONFIGURATION logcfg (PARSER = zhparser);
    ALTER TEXT SEARCH CONFIGURATION logcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;
    
    1. 将需要搜索的内容转化为tsvector类型
    SELECT to_tsvector('logcfg ','“今年保障房新开工数量虽然有所下调,但实际的年度在建规模以及竣工规模会超以往年份,相对应的对资金的需求也会创历>史纪录。”陈国强说。在他看来,与2011年相比,2012年的保障房建设在资金配套上的压力将更为严峻。');
    
    1. 查询
    SELECT * FROM t_log WHERE msg_tsvector @@ to_tsquery('logcfg','住房');
    

    相关文章

      网友评论

          本文标题:PostgreSql全文索引

          本文链接:https://www.haomeiwen.com/subject/tkvyqdtx.html