问题描述
我在hazelcast中使用IMap存储数据,键是字符串,值是hazelcastjsonvalue。代码示例: `
diamol/base
`条件正确,但结果为null,为什么?不添加索引时,查询结果正确。
解决方法
在您的map.put
中,尝试将value子句从json
更改为new HazelcastJsonValue(json))
您命名为json
的变量实际上是一个字符串,因此它是形式为Map<String,String>
的映射。
Hazelcast不会在字符串内部搜索字段,因为它不知道它包含任何形式的结构化数据。您将获得IllegalOperationException
的已发布代码。
如果您将new HazelcastJsonValue(json))
用作条目的值,则会使其结构化,并且可以在字段上进行搜索(和索引)。