gpt4 book ai didi

sql - 带子字符串的 PostgreSQL 全文搜索

转载 作者:行者123 更新时间:2023-11-29 13:19:37 26 4
gpt4 key购买 nike

我正在尝试创建最快的方法来搜索 PostgreSQL(9.4 版)中多列的数百万(80+ mio)记录。

我想尝试使用标准的 PostgreSQL,而不是 Solr 等。

我目前正在测试全文搜索,然后是 https://blog.lateral.io/2015/05/full-text-search-in-milliseconds-with-postgresql/ .

它有效,但我想要更灵活的搜索方式。

目前,如果我有一个包含 ex 的列。 “沃尔沃”和一个包含“蓝色”的记录我能够找到带有搜索字符串“volvo blue”的记录,但我还想使用“volvo blu”找到记录,就像我使用 LIKE 和“%blu%”一样.

全文搜索有可能吗?

最佳答案

唯一的选择是使用 pg_trgm贡献模块。

这使您能够创建一个 GIN 或 GiST 索引,索引所有三个字符的序列,可用于使用相似性运算符 % 进行搜索。

两个注意事项:

  1. 使用 % 运算符可能会返回“误报”结果,因此请务必添加第二个条件(例如使用 LIKE)以消除这些结果。

  2. 三元组搜索在较长的搜索字符串中效果很好,但在较短的搜索字符串中表现不佳,因为存在许多误报结果。

如果这对您的目的来说不够好,您将不得不求助于第三方解决方案。

关于sql - 带子字符串的 PostgreSQL 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44284078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com