0

我正在努力將搜索添加到我的PostgreSQL 9.1 rails應用程序。下面是設置:是否可以使用DB索引來優化pg_search,pg_search_scope方法?

class Comment < ActiveRecord::Base 
    include PgSearch 
    pg_search_scope :search_by_content, :against => :content 

Rails的C,命令:

Comment.where(:commentable_id => 33).search_by_content('pgsql').count 

Rails日誌:

(348.1ms) SELECT COUNT(*) FROM "comments" WHERE "comments"."commentable_id" = 33 AND (((to_tsvector('simple', coalesce("comments"."content"::text, ''))) @@ (to_tsquery('simple', ''' ' || 'pgsql' || ' ''')))) 

安裝後的寶石,和設置註釋模型,說明隻字不提關於添加數據庫索引以優化性能。鑑於查詢已經在本地使用了348.1ms,我很好奇這可以優化爲更高性能嗎?

感謝

+0

對於那些不說Rails的人來說,這個'pg_search'運行的底層查詢是什麼?是全文搜索嗎?如果是這樣,請閱讀關於全文搜索的PostgreSQL手冊,該手冊討論全文的GiST索引。 –

+0

正在運行的查詢顯示在上面的「Rails日誌」中,它顯示了發送給PostgreSQL的原始SQL – AnApprentice

+1

Gah,我是盲人。抱歉。所以是的,它使用全文搜索。 –

回答

相關問題