将同义词自定义词典添加到Amazon RDS for PostgreSQL

Sha*_*nde 5 postgresql full-text-search amazon-web-services ruby-on-rails-4

我有一个产品数据库,我使用pg_search Gem进行全文搜索.查询看起来像这样:

SELECT "products".* FROM "products" WHERE (((to_tsvector('english', coalesce("products"."description"::TEXT, ''))) @@(to_tsquery('english', ''' ' || 'purchase' || ' '''))));
Run Code Online (Sandbox Code Playgroud)

在进行全文搜索时,我想添加以下搜索功能

  1. 同义词搜索例如.单词购买,购买,获取,获取
  2. 靠近单词例如.单词(桌子,椅子)或(笔,铅笔,橡皮擦)
  3. 拼写错误

现在,这个搜索的一个值得注意的问题是,当有人搜索其中任何一个时,我需要搜索所有这些术语的产品(同义词和附近的单词和拼写错误).

但似乎我们需要将同义词词典作为输入来提供这种搜索功能.如何向PostgreSQL添加自定义词典?即使我们设法将同义词词典添加到postgresql,我们如何将其添加到我的AWS RDS(Amazon RDS for PostgreSQL)数据库?

请参阅同义词的链接:http://shisaa.jp/postset/postgresql-full-text-search-part-2.html

Ben*_*hon 1

根据此线程,目前(2020 年)这是不可能的。

不幸的是,由于 RDS 不提供文件系统访问权限,因此您将无法将自定义文件上传到 $SHAREDIR。