sql - 我可以使用 tsvectors 指定只匹配包含一个词的向量吗?

标签 sql postgresql full-text-search tsvector

我只想在 tsvector 中搜索文本中仅有的单词。有没有办法做到这一点?指定一个词必须是最后一个或第一个词怎么样?我使用 tsvector 的原因是我需要匹配词干。

更新:示例数据是一个包含三行的表格,例如:

  id      |      text       |    ts_vector
---------------------------------------------
  1       |    eating       | -- this column holds vector data
          |                 |
  2       |    eating food  |
          |                 |
  3       |    eats         |

我希望能够搜索单词 eat 并且只返回 id = 1 和 id = 3 但 id 2 应该被忽略的那个。查询看起来像这样:

to_tsquery('english', 'eat') @@ tablename.ts_vector

如您所知,除了这将返回此示例中的所有三行

谢谢!

最佳答案

试试这个。

SELECT * FROM TABLE1 WHERE SUBSTRING(TEXT FROM 1 FOR 3)= 'EAT';

关于sql - 我可以使用 tsvectors 指定只匹配包含一个词的向量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55765478/

相关文章:

sql - 如何找到需要索引的列?

sql - 使用 case 语句时的 Group By 子句问题

python - 当 Query 包含 ','(逗号)或 = 或 () 时,搜索 API 返回 QueryError

java - 将列和值的 HashMap 存储到 SQL 数据库以获取用户 ID

sql - 数据库设计 - 具有属性的多类别产品

PostgreSQL 删除重复行忽略大小写

mysql - 使用参数sequelize全文查询

sql-server-2008 - 对 SQL Server 中的名称字段进行部分匹配

php PDO插入错误

postgresql - 如何在 PostgreSQL 中使用 GNU 并行和 GNU SQL with\copy