问题标签 [tsvector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2983 浏览

postgresql - 请求的未知数据库类型 tsvector

所以我的问题是我在表中添加了一列类型为 tsvector 的列,而没有将其添加到实体类中,现在当我想运行doctrine:schema:update --force它时,它给了我这个错误

我现在应该怎么做,我必须在教义中创建一个 tsvector 类型还是删除 tsvector 列使用命令行更新架构,然后重新添加 tsvector 列?

0 投票
1 回答
501 浏览

postgresql - PostgreSQL tsvector 解析在搜索中包含 xml 标签

我们将“损坏的”xml 存储在表格的文本字段中。目前无法修复 xml,因此正常的使用模式是在 where 子句中使用 ~* E'my_regex' 来搜索它。挑战在于桌子的尺寸非常非常大。

我正在尝试使用 gin 索引来加快查询速度。问题是在将文本解析为 tsvector 时,解析器会忽略 xml 标签。
例如,我正在寻找包含单词“file”的记录。该词可能是 xml 标签的一部分,也可能不是标签的一部分。这是我尝试过的:

我究竟做错了什么?如何将分隔符指定为 <>&=,./ 之一?先感谢您

0 投票
1 回答
357 浏览

postgresql - 全文 Postgres

我在 postgresql 中为全文搜索创建了一个索引。

当我运行此查询时:

它返回给我一些行。

但是当我的参数全部大写时,不会返回任何行。例如:

当论点是“ura”时,我得到几行;当参数为“URA”时,我没有得到任何行。

为什么会这样?

0 投票
1 回答
352 浏览

performance - Postgres tsvector_update_trigger 有时需要几分钟

我已经在我的 postgres 数据库中的表上配置了自由文本搜索。很简单的东西,名字,姓氏和电子邮件。这很好用而且速度很快。

但是,在将新条目插入表时,我有时会遇到很长的延迟,其中插入会持续运行几分钟并且还会生成巨大的 WAL 文件。(我们使用 WAL 文件进行复制)。

我的自由文本索引有什么需要注意的吗?像 Postgres 可能出于性能原因随机重组它?我的索引目前大约 400 MB 大。

提前致谢!

基督教

0 投票
2 回答
2290 浏览

postgresql - PostgreSQL Full Text Search and reserved words, preserving some words

I am using Postgresql with full test search with english dict. When I want to receive records with some english words I get verid results.

And so:

returns 0 results.

returns more than 0 results (word 'it' exists in table and index). ts_vector1 is created as follow:

Is 'it' a reserved word? If so, what is the best way to 'escape' reserved words?

0 投票
1 回答
977 浏览

sql - Postgresql 使用 tsearch2 为两列 ts_vector 创建 TRIGGER

您好我正在尝试学习如何使用 9.2.2 版在 postgres 中使用全文搜索。

然后,我将 body_title_tsv 定义为由 body 和 title 字段组成的 ts_vector,并使用合并来处理空值。

我想知道如何编写一个处理“标题”和/或“正文”更新的触发器。

我知道我可以使用这样的语法和 tsearch2 函数来创建触发器。

我可以对正文而不是标题做同样的事情。

我的问题是如何将两者结合起来更新 body_title_tsv

或者我是否必须学习如何编写我自己的函数,该函数本质上是在 UPDATE 发生时为 body_title_tsv 运行 SQL?.

我知道解决这个问题的另一种方法是创建一个索引。但我试图了解如何编写触发器并阅读 Kory 和 Susan Douglas 的 PostgreSQL 书中使用 tsearch2 的示例。

编辑:我遇到了这个功能。它的“tsvector_update_trigger”函数。我仍然想知道是否有办法使用 tsearch2 来做到这一点。

0 投票
2 回答
3927 浏览

postgresql - 将 postgreSQL 触发器应用于数据库中的现有行

我正在使用 PostgeSQL 9.2.2。我的数据库架构是

我创建了 body_title_titleupweight_tsv 作为类型 tsvector。然后,我使用文档中的示例定义了一个触发器,该触发器按如下方式对标题进行了加权。

我知道触发器有效,因为当我更新 pg_rocks_post 中的条目然后查询它时:我看到它已正确填充了 body_title_titleupweight_tsv ts_vector 与更新的行。

我的问题是如何让它将触发器应用于我表中的现有行。我只是在学习 postgres,所以我的测试数据库中有几百个条目,我想知道如何填充 body_title_titleupweight_tsv 列。

我认为这样做的一种方法是运行更新并用类似的东西重写函数

而不是在上面的更新语句中重新编写触发器的逻辑。有没有办法通过执行虚拟更新或“触摸”样式操作来触发上述触发器,该操作在数据库中的所有行上翻转触发器。

我尝试寻找此类虚拟或“触摸”类型操作的语法或示例,但找不到任何解释如何执行此操作的内容。

0 投票
1 回答
62735 浏览

postgresql-9.2 - 用于输入“空”的“数字类型的输入语法无效”

我有一个使用 NUMERIC 类型的包含三列的表。但是,其中两个什么都没有(即空的)。这是代码:

鉴于我正在使用这两个列(NR_TRACES 和 TRACE_SPACE_M)更新我的 ts 列,因此不会填充 ts 列。我发现它是空的,因为我后来更新了两列:

并得到:

但是,LENGTH_M 列已完全填充,因此我可以说“数字”类型不允许以我使用它的方式合并。我也使用了下面的一个但没有成功:

如果我单独测试填充的 LENGTH_M 列,我会得到相同的指向“”(空)空间:

我怎样才能绕过这个而不首先填充这两个空列?

我会很感激这方面的任何提示,在此先感谢。

0 投票
1 回答
1575 浏览

ruby-on-rails - tsvector 列上的 postgresql 触发器获取错误:列“不存在”

这是我的架构

这是触发功能:

但是,当我更新这样的记录时:

我明白了

我很确定列名是正确的。不知道这是否重要,我在添加 tsvector 列后连接这样的行(我正在使用 Rails 迁移)

我是否遗漏了某些内容,或者每一列都应该有自己的 tsvector 列(没有连接在一起)?

0 投票
0 回答
701 浏览

sql-server-2008 - SQL Server 中的 tsquery 和 tsvector

谁能让我知道 SQL Server 中用于 tsvector 和 Postgresql 中的 tsquery 的类似函数/数据类型是什么?

我正在尝试将项目转换为最初在 php+postgresql 中的 c# 和 SQL Server

谢谢