问题标签 [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 投票
2 回答
689 浏览

postgresql - 如何通过postgres中的匹配数获得最佳匹配产品

Postgres 9.1 购物车包含产品表

购物车有搜索字段。如果在其中输入了某些内容,则自动完成下拉菜单必须显示按与此标准匹配的产品数量排序的最佳匹配产品。

如何在 postgres 9.1 中实现这样的查询?搜索应按产品表中的名称和描述字段执行。使用子字符串匹配就足够了。不严格要求具有复杂文本匹配的全文搜索。

更新

Word joote 可以是产品名称或描述的一部分。

例如,图像文本中的第一个匹配可能包含

和其他产品

另一个大写

在这种情况下,查询应该返回单词 jootetina 和匹配计数 3。如何让它像在谷歌浏览器地址栏中输入搜索词时发生的自动完成一样工作?

如何实施?

或者如果这很困难,如何从所有与搜索词 joote 匹配的文本中返回单词 jootetina ?

0 投票
1 回答
456 浏览

java - To_tsvector() 在批量 COPY FROM STDIN Postgres 中

我将 CSV 文件批量加载到 Postgres 中,而不是每次插入记录时都使用数据库触发器更新 ts_vector 列,而是尝试使用 COPY FROM STDIN 插入看起来像

"some text value", to_tsvector('English', 'some text value')

看看我是否有任何性能提升。我可以使用 INSERT INTO tablename VALUES () 语句从 Postgres shell 手动执行此操作,但是当我从 COPY FROM 执行此操作时,我得到一个ERROR: extra data after last expected column我认为这意味着我的语法不正确。

对此的任何帮助将不胜感激!

0 投票
0 回答
1123 浏览

postgresql - 我应该存储空的 tsvector 值还是 NULL 值?

在列中存储tsvector值时,对于没有搜索词的记录,我应该存储空值tsvector还是NULL值?

有关系吗?

存储空向量在性能或存储开销方面有什么不同吗?

换句话说,当基于可以为空的title列的值更新向量时,我是否需要始终将其计算为to_tsvector(coalesce(title,''))(因为在给定参数时to_tsvector返回)还是足够做?NULLNULLto_tsvector(title)

0 投票
2 回答
1082 浏览

sql - 使用 PostgreSQL 查找流行的字符串

我在 PostgreSQL 表中有一堆文本行,我正在尝试查找常用字符串。

例如,假设我有一个基本表,例如:

我正在尝试在所有行中找到流行的字符串movie theaterlearning disabilities目标是显示像 Twitter“趋势”这样的“趋势”字符串之王的列表)

我使用全文搜索,并且尝试过ts_stat结合使用,ts_headline但结果非常令人失望。

有什么想法吗?谢谢!

0 投票
1 回答
2388 浏览

postgresql - 在phraseto_tsquery 中添加多个短语

我已经成功地将单个单词的数组连接成 to_tsquery 的字符串,但 postgres 9.6 中的phraseto_tsquery 只允许一个关键字短语。有谁知道以这样一种方式查询 tsvector(无论是在 Sql 还是全文搜索功能中)的解决方案,我可以(或/与)将动态数量的短语放入查询中。选择块都是文本数组。

第一次尝试:

搜索动物的现实世界问题示例:

思考:根据数组长度动态生成

opp_tsv.doc @@ (phrase_query || phrase_query2)

或以某种方式实现这一目标

opp_tsv.doc @@ phraseto_tsquery('big messy phrase | more messy wordphrases')

编辑: SELECT phraseto_tsquery('phrase to search | Need this phrase too') 结果='phrase' <-> 'to' <-> 'search' <-> 'need' <-> 'this' <-> 'phrase' <-> 'too' 我正在寻找的是结果'phrase<->to<->search' | 'need<->this<->phrase<->too'

0 投票
2 回答
1663 浏览

postgresql - 从 tsvector 获取按位置信息而不是字母顺序排序的数组?

Postgresql tsvector 类型包含按字母顺序排序的词位以及位置信息。如何从 tsvector 获取排序的词素数组,按位置信息而不是字母顺序排序?

0 投票
1 回答
284 浏览

sql - 带有关系表的 Postgres tsvector

我有两张简单的桌子。首先是品牌,每个品牌都可能有一个顶级品牌。例如 Elseve 有一个顶级品牌是 Loreal Paris。但雅芳没有顶级品牌。我有一个简单的产品表。

这是sqlfiddle

这是品牌表。

这是产品表

当我尝试获取 tsvectors 时,产品 1 文档返回空结果。但我需要在文档中至少获得雅芳。

如何解决这个问题呢 ?

感谢 Voa Tsun。我稍微更新了查询。我不再需要分组了。

0 投票
1 回答
4721 浏览

sql - PostgreSQL中的全文搜索与模糊搜索相结合

我想在 postgresql 中结合一种模糊搜索来实现全文搜索。对于我的测试区域,我跟进了这篇文章:https ://blog.lateral.io/2015/05/full-text-search-in-milliseconds-with-postgresql/ ,一切正常。但有时我在 search 字符串中有带和不带空格的搜索案例,如下所示:

在我的“标题”列中,有一个类似“ test123 ”的条目。我的搜索字符串看起来像“ test 123,其中有一个空格。我怎样才能在这个测试用例中获得成功?

我的 search-sql-query 看起来像:

所以我试图弄清楚是否可以将 pg_trgm 与 ts_vector 结合使用,但我找不到解决方案。你有想法吗?

0 投票
0 回答
239 浏览

sql - 如何在 Postgres 9.1+ 中将 ilike 转换为全文搜索

购物车使用以下查询来搜索产品:

搜索字段类型为字符(n),TEXT {{5}}表示用户在网页搜索框中输入的搜索词。

此查询词仅完全匹配。在 WHERE 子句中加入的不同表中的文本toode,yksus7,artliik,artryhm需要搜索并返回最佳匹配结果。

如果用户类型

查询未找到包含文本的记录,其中的单词不是 ix 确切的顺序,例如

如何解决这个问题,以便也返回类似的结果?使用从 9.1 开始的 PostgreSql 版本。

0 投票
2 回答
651 浏览

ruby-on-rails - 迁移后 Rails Postgres 错误:tsvector 列不存在

我正在使用 Rails 运行 Postgres 版本 9.3.4.2。我迁移了数据库并tsvector从模型中删除了该列Post(并将其添加到Message)。现在,当我create尝试执行 Post 控制器的操作时,INSERT INTO "posts"我收到一条错误消息"tsvector column 'tsv_body' does not exist"。Schema 没有tsvector显示posts. 我已经重新启动了服务器和 Postgres。这是怎么回事?我想从技术上讲,错误消息是正确的 - 该tsvectortsv_body不存在!这不是故意的。但是为什么它首先要在模型中寻找一tsvector列呢?Post

编辑

好的,我在 Railscasts ep 的末尾找到了这个。343.我认为问题是由这段代码引起的:

显然,schema.rb当有 sql 迁移时,该文件是不完整的。所以现在的问题变成了:如何编写迁移来撤消这段代码?