作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建最快的方法来搜索 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 索引,索引所有三个字符的序列,可用于使用相似性运算符 %
进行搜索。
两个注意事项:
使用 %
运算符可能会返回“误报”结果,因此请务必添加第二个条件(例如使用 LIKE
)以消除这些结果。
三元组搜索在较长的搜索字符串中效果很好,但在较短的搜索字符串中表现不佳,因为存在许多误报结果。
如果这对您的目的来说不够好,您将不得不求助于第三方解决方案。
关于sql - 带子字符串的 PostgreSQL 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44284078/
我有以下 html,它也绑定(bind)到 Bootstrap 弹出窗口(如果有任何区别的话) Layouts test Starts 2014/12/12, 11:
我是一名优秀的程序员,十分优秀!