Postgres 全文搜索:通过拆分空格或提供令牌数组来创建 tsvector

Postgres full-text search: make a tsvector by splitting on whitespace or by providing an array of tokens

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

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

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

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

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

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