【问题标题】:How to search data from database by alias search term?如何通过别名搜索词从数据库中搜索数据?
【发布时间】:2022-01-19 14:17:52
【问题描述】:

例如,我有一个类似的表

| id | country | search term              |
 ----   -------   --------------------------
| 1  | Paris   |  light country, Eiffel, tower|

无论我在搜索词中搜索什么数据,它都必须显示国家/地区巴黎。 如何实现它的表结构?

【问题讨论】:

  • 请提供用户将搜索的示例以及给定示例的预期结果。否则,我认为您的答案会是……这似乎太简单了……SELECT country from table Where "search term" like '%Eiffel%' 还是您在“全文搜索”之后?

标签: sql postgresql


【解决方案1】:

如果您需要使用全文搜索,那么这是一个如何在 PostgreSQL 上使用全文搜索机制的示例:

SELECT *
FROM users u
WHERE to_tsvector('english', u.about_user) @@ to_tsquery('english', 'you search text');

为获得最佳性能,您必须将GIN 索引添加到此文本字段。例如:

CREATE INDEX users_descrip_full_text ON  users USING GIN(to_tsvector('english', about_user));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-02
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 2017-08-21
    • 2016-03-22
    相关资源
    最近更新 更多