【发布时间】:2015-11-03 18:20:36
【问题描述】:
我只是为需要本地化支持的新项目建模 PostgreSQL 数据库。我想知道 hstore 是否是本地化某些数据字段的好方法。
例如:让我们为博客文章创建一个简化表,其中包含字段post_title 和post_content。使用键值类型 hstore 可以为这些字段添加多个翻译,用语言代码作为键标识:
id | post_title (hstore) | post_content (hstore)
---|-----------------------|------------------------------
1 | "en" => "Hello World",| "en" => "Content in english",
| "de" => "Hallo Welt" | "de" => "Inhalt auf deutsch"
---|-----------------------|------------------------------
2 | ... | ...
有人有这种方法的经验吗?它似乎非常灵活且易于使用,但也许我在这里遗漏了一些重大缺点?
【问题讨论】:
-
有趣的想法我认为对此进行查询会很痛苦,但我不确定其他 i18n 模型有什么更好的。也不确定查询计划器将如何优化跨 hstore 值的连接等内容。
-
这种方法可以做全文搜索吗?
-
@OlegYablokov,您可以在
WHERE子句中使用 hstore 值,并且您可以选择特定字段(例如用于构建文档索引),所以我想这应该是可行的。我最近阅读了an interesting article on full-text search in Postgres——与 hstore 无关,但它的想法也可以与 hstore 一起使用。
标签: postgresql internationalization hstore