繁体   English   中英

使用Heroku上的texticle与postgresql全文搜索部分匹配

[英]Partial matches with postgresql full-text search using texticle on Heroku

尝试使用部分搜索在Heroku上进行搜索

以下查询在Heroku上生成SQL错误,但在我的本地版本中正常工作:

@events.search(params[:search]+":*")

我正在使用Heroku共享数据库服务,这是PostgreSQL版本之间语法的可能区别吗?

我应该使用什么语法对PostgreSQL 8中的全文索引进行部分匹配搜索?

以下是PostgreSQL 9.1中的更改

也许您可以尝试使用字符串插值而不是连接。

@events.search("#{params[:search]}:*")

我不太确定吻图释是什么:*增加了texticle的功能。 也许我需要学习更多SQL。

事实证明,PostgreSQL版本8不支持使用:*语法进行部分搜索。

正如http://www.postgresql.org/docs/9.0/interactive/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES所说,使用“: ”用于指定前缀匹配。 例如,如果使用“Aus:搜索“Australia”将起作用,但不能“ust:*”。

所以concat OR xxxx LIKE“%yyy%”会更好

您可以将tsearch选项与前缀一起使用:

:tsearch => {:prefix => true}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM