簡體   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