使用@进行全文搜索

时间:2018-03-28 13:08:13

标签: postgresql full-text-search

我的表格有

之类的评论栏
create table x (
   id uuid primary key,
   a_random_business_field int,
   comment text,
);

在此评论框中,人员放置了@myname@myname是一个松散的名字。我想搜索这些@myname。我试过这个:

SELECT * FROM x WHERE comment @@ to_tsquery('@myname');

SELECT * FROM x WHERE comment @@ plainto_tsquery('@myname');

1 个答案:

答案 0 :(得分:2)

这取决于full text search configuration。您可以使用to_tsquery函数保留这些名称。但是" @"的匹配仍然存在一些问题。符号...

SELECT
  to_tsvector('simple', 'Hi! My name is @Mike') @@ to_tsquery('simple', '@Mike'),
  to_tsvector('simple', 'Hi! My name is @Mikel') @@ to_tsquery('simple', '@Mike'),
  to_tsvector('simple', 'Hi! My name is Mike') @@ to_tsquery('simple', '@Mike');