gpt4 book ai didi

php - 使用 PHP 对带有外来字符的 MongoDb 文档进行排序

转载 作者:可可西里 更新时间:2023-11-01 10:04:39 24 4
gpt4 key购买 nike

我有一个包含语言列表的数据集,每种语言都是用所呈现的语言编写的

例如

  • 德语
  • 荷兰
  • 斯洛文尼亚
  • 捷克
  • 布达佩斯

问题是当我对语言进行排序时,我得到了如上所示的列表。无论多么自然

  • 布达佩斯
  • 捷克
  • 德语
  • 荷兰
  • 斯洛文尼亚

您建议如何做到这一点?

一个人会创建一个排序字段,但我有另一个包含 15.000 个文档的集合,并且为此制作排序索引需要大量工作。

最佳答案

MongoDB 没有基于语言环境的排序,而只是使用 Unicode代码点排序。这适用于标准英语字母表,但显然不适用于其他字母表。正在跟踪此问题 here可以找到解决方法 here

我的回答摘自 Google 网上论坛发布的问题 here关于瑞典字母分类。如果您想了解更多关于 Unicode 排序规则的信息,可以查看 Unicode Technical Standard

一个建议是将您的数据提取到一种能够正确处理 Unicode 排序规则的语言中,并从那里应用您的排序字段。或者,通常的语言列表还包括区域设置代码(例如 EN 表示英语),这就是它们的排序。

使用区域设置代码列表,您的订单将按照您的示例正确无误:

  1. Български (Bulgarian) - BG
  2. Česky (I am guessing Czech/Česka) - CS
  3. Deutsch - DE
  4. Nederlands - NL
  5. Slovenčina - SK

关于php - 使用 PHP 对带有外来字符的 MongoDb 文档进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com