首先,有沒有方法「上下文」從Postgres的檢索摘錄。這是我的大腦在某個時刻編造的一個詞語,並且堅持不懈。顯然我應該運行.excerpt()。其次,我針對返回的數組運行命令,而不是PG_Search :: Document的單個實例。雙重錯誤,但是代碼實際上工作正常。
末更新
首先,一些系統信息:
- 紅寶石1.9.3p194
- 的Rails 3.2.13
- pg_search 0.5.7
- 的Postgres 9.2.3(帶 unaccent enabled)
我想按照這個線程所取得的進展:(How to show excerpts from pg-search multisearch results)
好吧,假設使用從那兒剽竊後以下查詢:
@query = params[:query]
PgSearch.multisearch(@query).select("ts_headline(pg_search_documents.content, plainto_tsquery('english', ''' ' || unaccent('#{@query}') || ' ''' || ':*')) AS excerpt")
回報:
=> [#<PgSearch::Document id: 7, content: "1 <p>You think water moves fast? You should see ice...", searchable_id: 2, searchable_type: "Release", created_at: "2013-03-27 18:58:52", updated_at: "2013-03-27 18:58:52">]
它成功返回一些搜索結果,但它們根本沒有context
方法。就好像我只是打電話multisearch
沒有select
方法。
對於SQL和Postgres,我是一個新手,所以我不確定從哪裏開始調試該代碼段。我會喜歡一些幫助調試或解釋發生了什麼。
此外,我認爲很重要,我想感謝任何人在pg_search上工作或回答這些問題。你讓世界變得更美好。
想知道你是如何解決這個問題的 – 2016-07-15 12:08:33