【发布时间】:2021-11-08 11:14:46
【问题描述】:
Django 支持使用 SearchVectorField 的 Postgres 全文搜索。必须在 Postgres 端使用 to_tsvector 准备数据,这由 Django 中的 SearchVector 函数完成:
class SomeSearchableModel(PostgresModel):
searchable = SearchVectorField()
我需要使用未存储在表的其他列中的数据填充此列。默认的方法是:
class SomeSearchableModel(PostgresModel):
text = TextField()
searchable = SearchVectorField()
每次保存时:
obj.searchable=SearchVector('text') # Column name to be read
此应用程序不会在数据库中以可用格式保存可搜索数据。内容是在一些后端脚本中准备的。
如何手动提供SearchVectorField 内容?
喜欢:
obj.searchable=SearchVector(some_processed_text)
PostgreSQL 查询部分是:INSERT INTO ... SET searchable=to_tsvector(...)。
无法在 Postgres 中计算内容。
【问题讨论】:
标签: python django postgresql