假设我有一个充满音乐艺术家的数据库。考虑以下艺术家:
甲壳虫乐队 - “The”是名称的正式组成部分,但如果我们按字母顺序排列,我们不想将它与“T”一起排序。我们不能轻易将它存储为“Beatles, The”,因为这样我们就无法正确搜索它。
碧昂丝 - 我们需要让用户能够搜索“Beyonce”(没有变音符号)并获得正确的结果。在搜索时,没有用户会知道如何或花时间在最后一个“e”上键入特殊变音符号,但我们显然希望在需要输出时正确显示它。
解决这些问题的最佳方法是什么?在数据库中保留“正式名称”、“搜索名称”和“排序名称”似乎很浪费,因为绝大多数所有条目都将完全相同,但我想不出任何其他选项。
最佳答案
图书馆学专家对此有一个标准答案。 ALA 归档规则以完全标准的方式涵盖了所有这些案例。
你说的是语法排序顺序。这是一个值得商榷的话题。有些人会对您的立场提出异议。
通常,您将标题转换为标准化形式:“Beatles, The”。一般来说,你就这样离开。然后排序。
您可以在此处阅读有关编目规则的信息:http://en.wikipedia.org/wiki/Library_catalog#Cataloging_rules
对于“扩展”字符,您有多种选择。对于某些人来说,é 是一流的字母,变音符号是其中的一部分。他们并不困惑。对于其他人来说,所有变音字符都映射到朴素的字符上。这种映射是一些 Unicode 处理工具的一个特性。
您可以在此处阅读有关 Unicode 变音符号剥离的信息:http://lexsrv3.nlm.nih.gov/SPECIALIST/Projects/lvg/current/docs/designDoc/UDF/unicode/NormOperations/stripDiacritics.html
关于database - 显示与搜索与数据库中的排序字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/640858/