![](/img/trans.png)
[英]How do I return partial phrase matches with PostgreSQL full-text search without returning too many rows?
[英]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.