3

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

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

现在,这个搜索的一个显着问题是购买这个词。我们可以将购买、获取、获得作为同义词。对于“表”这个词。我们可以在附近有椅子。当有人搜索其中任何一个时,我需要在产品中搜索所有这些术语(同义词和邻近词)。

从我在网上阅读的内容来看,似乎我需要提供同义词词典作为输入,但我不知道该怎么做。我认为 postgresql 支持同义词搜索而无需开发人员输入任何同义词词典,并且 postgresql 提供的同义词词典可能没有所有的英语单词,但至少有一些基本的单词。开发者很难给出同义词词典

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

4

0 回答 0