Postgres的 - 为使用3个+柱与to_tsvector全文搜索索引

问题描述 投票:0回答:1

所有通过连接2列上创建索引的Postgres的全文搜索的文档显示的例子,但我不能解决如何与3+列做到这一点。从Postgres的文档例如:

to_tsvector(title || ' ' || body)

如果我的例子有,应通过所谓description搜索另一列,看来我希望这句法不起作用:

to_tsvector(title || ' ' || body || ' ' || description)

这导致了这样的一个指标,当我尝试:

to_tsvector('english'::regconfig, ((("CompanyName" || ' '::text) || "Title") || ' '::text) || "Description")

似乎有一个额外的括号包裹CompanyNameTitle块。

任何想法是什么语法应该在这里?我无法使用多个列与to_tsvector找到任何相关文件。

postgresql full-text-search database-indexes
1个回答
1
投票

你的指数是相当不错的,只要你在查询中使用相同的表达将被使用。

索引表达式不存储为文本,而是经过解析的树结构。这样,它不会破坏索引,如果你例如重命名使用列。

字符串连接运算符||是左关联的,所以括号表达式是相同的,你原来写的一个(与被使表达english所需的配置IMMUTABLE的例外,但我想你忘记了这一点)。

© www.soinside.com 2019 - 2024. All rights reserved.