首页 > 解决方案 > Postgres 全文搜索:通过在空格上拆分或提供标记数组来创建 tsvector

问题描述

我有一个文本搜索问题,我需要搜索系统生成的文本,即不是人工编写的自然语言文本。

典型ts_tovector('english', 'foo bar baz')的并不是特别有用。在某些情况下,它会生成我知道会导致误报搜索结果的令牌。

相反,我真的只想在一个字符串中提供标记,其中每个标记由空格分隔,或者提供一个有序标记的数组。

例如,类似于 的东西to_tsvector(array["foo", "bar", "baz"])应该产生三个标记:foobarbaz。这似乎是一件非常基本的事情,但到目前为止,我还没有找到任何关于此功能的明确文档。

标签: postgresqlfull-text-search

解决方案


这确实是一个基本的东西,你所要做的就是使用simple文本搜索配置:

to_tsvector('simple', 'foo bar baz')

推荐阅读