postgresql - 在 postgresql 中删除停用词而不阻止

标签 postgresql full-text-search stop-words

我想从我的数据中删除停用词,但我不想阻止这些词,因为确切的词对我很重要。 我使用了这个查询。

SELECT to_tsvector('english',colName)from tblName order by lower asc;

有什么方法可以在不阻止单词的情况下删除停用词?

谢谢

最佳答案

创建您自己的文本搜索字典和配置:

CREATE TEXT SEARCH DICTIONARY simple_english
   (TEMPLATE = pg_catalog.simple, STOPWORDS = english);

CREATE TEXT SEARCH CONFIGURATION simple_english
   (copy = english);
ALTER TEXT SEARCH CONFIGURATION simple_english
   ALTER MAPPING FOR asciihword, asciiword, hword, hword_asciipart, hword_part, word
   WITH simple_english;

它是这样工作的:

SELECT to_tsvector('simple_english', 'many an ox eats the houses');
┌─────────────────────────────────────┐
│             to_tsvector             │
├─────────────────────────────────────┤
│ 'eats':4 'houses':5 'many':1 'ox':3 │
└─────────────────────────────────────┘
(1 row)

您可以将参数 default_text_search_config 设置为 simple_english 以使其成为您的默认文本搜索配置。

关于postgresql - 在 postgresql 中删除停用词而不阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052173/

相关文章:

full-text-search - 如何在 scylladb 和 cassandra 中创建完整/高级文本搜索?

ruby-on-rails - rake 数据库 :migrate and db:create not operated with proper database files

python - 为什么 Psycopg 提供 `cursor` 的方法 (`copy_to()` , `copy_from()` ),而不是调用 `cursor.execute()` 发送 `COPY` 命令?

MySQL 全文搜索 html 实体

sql-server - 创建附加全文目录的指南

sql - postgresql 中的临时表是否在所有客户端 session 中都可见?

postgresql - 在 EFCore 中插入表时如何运行子查询

python - 使用 Python 从数据框的列中删除停用词

python - 在 Python 中删除停用词的更快方法