我有一个带有 PostgreSQL 数据库的 Rails 4 应用程序。我使用 PSQL 默认全文搜索某些字段,例如 university_name。我需要一次针对我的数据库发送数百个全文搜索查询。
现在,我连续执行这些查询,而且速度很慢。有什么办法可以在批处理模式下发送文本搜索?
我有一个带有 PostgreSQL 数据库的 Rails 4 应用程序。我使用 PSQL 默认全文搜索某些字段,例如 university_name。我需要一次针对我的数据库发送数百个全文搜索查询。
现在,我连续执行这些查询,而且速度很慢。有什么办法可以在批处理模式下发送文本搜索?
是的,尝试使用tsvector columns
which 将
pg_search#using-tsvector-columns
稍后您将针对 tsv_field 而不是普通文本运行搜索,这将使其更快。
pg_search_scope :fast_content_search,
:against => :content,
:using => {
dmetaphone: {
tsvector_column: 'tsvector_content_dmetaphone'
},
tsearch: {
dictionary: 'english',
tsvector_column: 'tsvector_content_tsearch'
}
trigram: {} # trigram does not use tsvectors
}