![](/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.