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"])
的内容应该产生三个标记:foo
、bar
和 baz
。这似乎是一件非常基本的事情,但到目前为止我还没有找到任何关于此功能的明确文档。
这确实是一个基本的东西,你所要做的就是使用simple
文本搜索配置:
to_tsvector('simple', 'foo bar baz')
我有一个文本搜索问题,我需要搜索系统生成的文本,即不是人类编写的自然语言文本。
典型的 ts_tovector('english', 'foo bar baz')
不是特别有用。在某些情况下,它会生成令牌,我知道这会导致误报搜索结果。
相反,我真的只想在每个标记由空格分隔的字符串中提供标记,或者提供一个有序标记数组。
例如,类似于 to_tsvector(array["foo", "bar", "baz"])
的内容应该产生三个标记:foo
、bar
和 baz
。这似乎是一件非常基本的事情,但到目前为止我还没有找到任何关于此功能的明确文档。
这确实是一个基本的东西,你所要做的就是使用simple
文本搜索配置:
to_tsvector('simple', 'foo bar baz')