问题标签 [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.
postgresql - 请求的未知数据库类型 tsvector
所以我的问题是我在表中添加了一列类型为 tsvector 的列,而没有将其添加到实体类中,现在当我想运行doctrine:schema:update --force
它时,它给了我这个错误
我现在应该怎么做,我必须在教义中创建一个 tsvector 类型还是删除 tsvector 列使用命令行更新架构,然后重新添加 tsvector 列?
postgresql - PostgreSQL tsvector 解析在搜索中包含 xml 标签
我们将“损坏的”xml 存储在表格的文本字段中。目前无法修复 xml,因此正常的使用模式是在 where 子句中使用 ~* E'my_regex' 来搜索它。挑战在于桌子的尺寸非常非常大。
我正在尝试使用 gin 索引来加快查询速度。问题是在将文本解析为 tsvector 时,解析器会忽略 xml 标签。
例如,我正在寻找包含单词“file”的记录。该词可能是 xml 标签的一部分,也可能不是标签的一部分。这是我尝试过的:
我究竟做错了什么?如何将分隔符指定为 <>&=,./ 之一?先感谢您
postgresql - 全文 Postgres
我在 postgresql 中为全文搜索创建了一个索引。
当我运行此查询时:
它返回给我一些行。
但是当我的参数全部大写时,不会返回任何行。例如:
当论点是“ura”时,我得到几行;当参数为“URA”时,我没有得到任何行。
为什么会这样?
performance - Postgres tsvector_update_trigger 有时需要几分钟
我已经在我的 postgres 数据库中的表上配置了自由文本搜索。很简单的东西,名字,姓氏和电子邮件。这很好用而且速度很快。
但是,在将新条目插入表时,我有时会遇到很长的延迟,其中插入会持续运行几分钟并且还会生成巨大的 WAL 文件。(我们使用 WAL 文件进行复制)。
我的自由文本索引有什么需要注意的吗?像 Postgres 可能出于性能原因随机重组它?我的索引目前大约 400 MB 大。
提前致谢!
基督教
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?
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 来做到这一点。
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 列。
我认为这样做的一种方法是运行更新并用类似的东西重写函数
而不是在上面的更新语句中重新编写触发器的逻辑。有没有办法通过执行虚拟更新或“触摸”样式操作来触发上述触发器,该操作在数据库中的所有行上翻转触发器。
我尝试寻找此类虚拟或“触摸”类型操作的语法或示例,但找不到任何解释如何执行此操作的内容。
postgresql-9.2 - 用于输入“空”的“数字类型的输入语法无效”
我有一个使用 NUMERIC 类型的包含三列的表。但是,其中两个什么都没有(即空的)。这是代码:
鉴于我正在使用这两个列(NR_TRACES 和 TRACE_SPACE_M)更新我的 ts 列,因此不会填充 ts 列。我发现它是空的,因为我后来更新了两列:
并得到:
和
但是,LENGTH_M 列已完全填充,因此我可以说“数字”类型不允许以我使用它的方式合并。我也使用了下面的一个但没有成功:
如果我单独测试填充的 LENGTH_M 列,我会得到相同的指向“”(空)空间:
我怎样才能绕过这个而不首先填充这两个空列?
我会很感激这方面的任何提示,在此先感谢。
ruby-on-rails - tsvector 列上的 postgresql 触发器获取错误:列“不存在”
这是我的架构
这是触发功能:
但是,当我更新这样的记录时:
我明白了
我很确定列名是正确的。不知道这是否重要,我在添加 tsvector 列后连接这样的行(我正在使用 Rails 迁移)
我是否遗漏了某些内容,或者每一列都应该有自己的 tsvector 列(没有连接在一起)?
sql-server-2008 - SQL Server 中的 tsquery 和 tsvector
谁能让我知道 SQL Server 中用于 tsvector 和 Postgresql 中的 tsquery 的类似函数/数据类型是什么?
我正在尝试将项目转换为最初在 php+postgresql 中的 c# 和 SQL Server
谢谢