Apache Ignite查询/索引

时间:2017-07-07 13:20:15

标签: java apache ignite schemaless

我有一个关于使用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();
    }
}

以上代码对我来说很好......

我希望我能很好地解释自己。如果您需要更好地理解,请随时提出问题。

提前感谢任何对我的问题感兴趣的人:)

祝你好运

1 个答案:

答案 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