我可以使用tsvectors指定只匹配一个单词的向量吗?

时间:2019-04-19 17:22:38

标签: 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

除此以外,您将知道此示例中的所有三行

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试这个。

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