zoukankan      html  css  js  c++  java
  • PostgreSQL 全文索引

    -- 首先要创建自定义的词典,在不使用停用词文件的情况下创建自定义词典,例如:
    CREATE TEXT SEARCH DICTIONARY english_stem_nostop (
        Template = snowball
        , Language = english
    );
    -- 请注意,在上面我省略了StopWords参数。
    -- 然后创建一个新的配置来使用你的新词典:
    CREATE TEXT SEARCH CONFIGURATION public.english_nostop ( COPY = pg_catalog.english );
    ALTER TEXT SEARCH CONFIGURATION public.english_nostop
       ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, hword, hword_part, word WITH english_stem_nostop;


    -- 添加全文索引字段并且建立触发器 -- alter table keyword add COLUMN keyword_participle tsvector; -- create or replace function keyword_ts_trigger_function() returns trigger as $$ -- begin -- new.keyword_participle := to_tsvector('english_nostop',COALESCE(new.keyword,'') ); -- return new; -- end -- $$ language plpgsql; -- -- create trigger messages_ts_trigger -- before insert -- on keyword -- for each row -- execute procedure keyword_ts_trigger_function(); -- 创建索引 -- CREATE INDEX keyword_full_text_index on keyword -- using gin(keyword_participle);
    -- 更新刚刚创建的字段
    -- update keyword set keyword_participle = to_tsvector('english_nostop', COALESCE(keyword, ''));

    参考文章:

    https://stackoverflow.com/questions/1497895/can-i-configure-stop-words-programmatically-with-postgresql-full-text-search

    https://www.youtube.com/watch?v=LS6kF43DEt8

  • 相关阅读:
    飞机大战4-我的子弹
    飞机大战3-我的飞机
    飞机大战1-分析设计
    继承
    常见题
    42个例子算法
    心跳
    tomcat
    service
    URI URL
  • 原文地址:https://www.cnblogs.com/ryanzheng/p/9105773.html
Copyright © 2011-2022 走看看