Sign inSign up

438577872/postgres_zhparser

By 438577872

•Updated almost 3 years ago

安装了Zhparser插件的PG

Image
2

2.1K

438577872/postgres_zhparser repository overview

国内地址

docker pull registry.cn-hangzhou.aliyuncs.com/karrrrrr/postgres
# 仅支持最新版
# docker-compose.yml

version: "3.8"
services:
  postgres14_zhparser:
    image: 438577872/postgres_zhparser:14
    ports:
      - "5432:5432"
    container_name: postgres_zhparser
    environment:
      POSTGRES_PASSWORD: root
    volumes:
#      D://这里换成本地的目录
      - D://:/var/lib/postgresql/data
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION chinese_zh (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;

测试插件是否安装成功SQL:

select ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
CREATE TEXT SEARCH CONFIGURATION chinese_parser (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION chinese_parser ADD MAPPING FOR n,v,a,i,e,l,j WITH simple;

    
create table books
(
    book_name varchar default '',
    author    varchar default '',
    id        serial primary key
);
ALTER TABLE books  ADD COLUMN book_name_index tsvector; -- 添加一个分词字段


CREATE TRIGGER trigger_name
    BEFORE INSERT OR UPDATE
    ON videos
    FOR EACH ROW
EXECUTE PROCEDURE
    tsvector_update_trigger(book_name_index , 'public.chinese_parser', book_name );



insert into books values
    ('我在第一次见面的地方向她求婚了'),
    ('用代码分析了自己的6万条弹幕和评论,蚌埠住了'),
    ('优秀的程序员必须要知道的操作系统、网络IO、TCPIP协议、Socket通信、HTTPS加密算法、计算机组成原理双清华大佬36个小时给你全部讲清'),
    ('《孤勇者》前方核能!谁说女生不适合唱这歌');
UPDATE books SET book_name_index = to_tsvector('chinese_zh', coalesce(book_name, ''));--   // 将字段的分词向量更新到新字段中

CREATE INDEX idx_gin ON books USING GIN (book_name_index);
select * from books where book_name_index @@ to_tsquery('chinese_zh','程序员操作系统');
--  tsquery里面不能有空格  
# postgresql.conf
zhparser.multi_short = true
zhparser.multi_duality = true
zhparser.multi_zmain = true
zhparser.multi_zall = false

Tag summary

Content type

Image

Digest

sha256:efc3fc5b0…

Size

87.5 MB

Last updated

almost 4 years ago

docker pull 438577872/postgres_zhparser