gpt4 book ai didi

search - H2 数据库整理 : what to choose?

转载 作者:行者123 更新时间:2023-12-01 04:00:25 27 4
gpt4 key购买 nike

经过大量阅读和实验后,似乎我需要 PRIMARY 搜索强度,但订购 TERTIARY 或 IDENTICAL。 主要问题:使用 H2(或任何其他数据库)可以实现吗?

次要问题:我是这里唯一的一个还是你们中的任何人也喜欢上述组合?一些确认将有助于我的理智。

背景:
似乎只能在创建数据库的最开始设置排序规则。所以我想确保选择正确的。我主要考虑这些用例(目前):

  • 用户可以开始输入以过滤表格的搜索字段:这里 PRIMARY 似乎是最合适的,以避免遗漏任何结果(用户习惯于谷歌......)。尽管如此,如果能够为用户提供启用二级或三级整理以进行更精确搜索的选项,那就太好了。
  • 排序:当用户单击表列对内容进行排序时,TERTIARY/IDENTICAL 排序似乎是合适的。这就是我从日常经验中习惯的。

  • 我在这里阅读了官方的 H2 文档: http://www.h2database.com/html/commands.html#set_collation .
    在这里: http://www.h2database.com/html/datatypes.html#varchar_ignorecase_type
    更多相关信息:
    Collation STRENGTH and local language relation

    测试 sql(来自 https://groups.google.com/forum/?fromgroups=#!topic/h2-database/lBksrrcuGdY):
    drop all objects;
    set collation english STRENGTH PRIMARY;
    create table test(name varchar);
    insert into test values ('À'), ('Ä'), ('Â'), ('A'), ('à'), ('ä'), ('â'), ('a'), ('àa'), ('äa'), ('âa'), ('aa'), ('B'), ('b');
    select * from test where name like 'a' order by name;
    select * from test order by name;

    enter image description here

    最佳答案

    如果你想对单个数据有两种行为,你必须:

  • 将数据拆分为两列,
  • 或使用两个运算符集。

  • 为了您的目的,通常存储原始数据的“规范”表示,以便搜索规范形式,然后排序/显示原始数据。可能你应该使用一些“文本搜索引擎”,比如 Apache Lucene .

    对于纯 H2 溶液,您可以使用 H2 aliasComputed columns或查询条件。第一个解决方案允许建立索引以加快查询速度。

    关于search - H2 数据库整理 : what to choose?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13849244/

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