当前位置: 首页 > 知识库问答 >
问题:

有没有办法使用sql谓词在hazelcast map中查询键的唯一子字符串/前缀?

陆绍辉
2023-03-14

使用Java,Spring,Hazelcast,地图

在映射中,所有键都是唯一的,但我正在寻找一种查询所有唯一前缀或子字符串的方法?

以至于我发现

groupId1
groupId2

如果我查询这张地图

groupId1 + "_" + key1, value 1
groupId1 + "_" + key2, value 2
groupId2 + "_" + key1, value 3

我看了这里,但没有找到任何符合我要求的东西。https://docs.hazelcast.com/imdg/4.2/query/how-distributed-query-works

非常感谢您的帮助。

共有1个答案

谢志文
2023-03-14

是,参见Hazelcast 5.1或更高版本

如果密钥是字符串,则可以执行以下操作

SELECT DISTINCT(SUBSTRING(__key FROM 1 FOR 2)) FROM m

假设长度是固定的。

如果长度不固定,只需将密钥设为POJO,然后使用

SELECT DISTINCT(field1) FROM m
 类似资料:
  • 在web上,我只找到了一种停止迭代方法的方法。通过使用limit()函数。但这会迭代一个具体的循环数。我想用它来停止一个谓词。 有没有办法用Streams做到这一点? 更新1:使用Java 8

  • 问题内容: 有没有一种方法可以使用Amazon的Java AWS开发工具包中的单个查询来查询多个哈希键? 这是我的问题;我有一个用于项目状态的数据库表。哈希键是项目的状态(即:新建,已分配,正在处理或已完成)。范围键是一组项目ID。当前,我有一个查询设置,可以简单地找到所有列为“已分配”状态(哈希)的项目,而另一个查询集可以查找“处理中”状态。有没有一种方法可以使用单个查询而不是针对我需要找到的每

  • 我正在运行如下查询: 用户有时会直接提供COLNAME,因此我希望避免在代码中注入sql。因此,我想知道是否可以将我的查询编写为: 另一种选择是将用户输入与表的所有列名匹配,但是,这种方法似乎不是这样做的好方法。

  • 使用Java8+,您可以轻松找到与匹配的集合的所有元素。

  • 问题内容: 我希望使用番石榴将其连接成一个字符串,但列表中的每个字符串周围都有环绕的字符串。所以我想列出一个字符串列表: 并生成此字符串: 我看到的示例似乎是生成3个以逗号分隔的名称,但我希望每个字符串都包含一些额外的字符串(每次都相同)。 我希望我在这里足够清楚。谢谢你的帮助。 问题答案: 为此,首先要进行转换:

  • 有没有办法删除字符串中重复和连续的单词/短语?例如。 [输入]: [out]: 我试过这个: 当它变得更复杂,我想删除短语(假设短语最多由5个单词组成)时会发生什么?怎样才能做到呢?例如。 [输入]: [out]: 另一个例子: [in]: 这是一个短语重复的句子。句子不是短语。