我有一个关于使用Apache Ignite进行索引的特定问题。
我的需要是在没有"知道"架构。因为我在某些时刻没有java类定义,所以没有可用的注释。但Apache Ignite似乎需要注释来识别字段。
有没有办法在运行时定义可查询字段?
我问它是因为我正在构建一个与技术无关的应用程序,并且我在运行时插入了专门的类。对我来说另一个问题是扩展Apache Ignite的类并定义假字段以使#34;字段" (假设它不是原始字段......)可以从Apache Ignite中查看。
有人有同样的问题"?
原始类命令:
public class Command {
private String commandName;
public void setCommandName(String commandName) {
this.commandName = commandName;
}
public String getCommandName(){
return this.commandName;
}
}
Ignite SQL的扩展命令类使用:
public class IgniteCommand extends Command{
@QuerySqlField (name="name", index = true)
private String _commandName;
@Override
public void setCommandName(String commandName) {
super.setCommandName(commandName);
this._commandName = getCommandName();
}
}
以上代码对我来说很好......
我希望我能很好地解释自己。如果您需要更好地理解,请随时提出问题。
提前感谢任何对我的问题感兴趣的人:)
祝你好运
答案 0 :(得分:1)
您可以在运行时但在缓存启动之前配置查询实体。请参阅docs [1]中的Spring XML配置示例。您可以通过编程方式执行相同的操作。
您还可以使用DDL动态创建索引。见[2]。
[1] https://apacheignite.readme.io/docs/indexes#queryentity-based-configuration [2] https://apacheignite.readme.io/docs/distributed-ddl#section-create-index