django PostgreSQL全文检索为不同的数据库版本提供不同的结果

yqkkidmi  于 2023-01-21  发布在  Go
关注(0)|答案(1)|浏览(156)

我尝试在Django项目中使用Postgres全文搜索来搜索我的数据库中的产品。shop_products表有一个GIN索引字段search_vector。我目前还有两个数据库,一个是托管在AWS RDS上的生产服务器(PostgreSQL 14.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit),另一个是我的本地开发数据库(Version PostgreSQL 14.2, compiled by Visual C++ build 1914, 64-bit)。
我遇到的问题是,有些搜索结果在开发服务器上可以正常工作,但在生产服务器上却不能。例如,当我使用以下查询SELECT * FROM shop_products WHERE search_vector @@ websearch_to_tsquery('extreme');查找包含单词“extreme”的产品时
这两个数据库都有完全相同的索引,其中“extreme”在数据库中被存储为“extrem”,并且在两个数据库中搜索“extrem”返回相同的结果。那么这是因为PostgreSQL版本不同还是其他因素可能影响搜索结果?

2ledvvac

2ledvvac1#

显然默认的搜索查询配置是不同的,在我的django文件中将它们设置为config="english"修复了这个问题。

相关问题