簡體   English   中英

Apache Ignite查詢/索引

[英]Apache Ignite query / index

我對使用Apache Ignite建立索引有一個特殊的問題。

我需要在不“知道”架構的情況下查詢緩存。 由於我目前沒有Java類定義,因此沒有可用的注釋。 但是Apache Ignite似乎需要注釋才能識別字段。

有沒有一種在運行時定義可查詢字段的方法?

我之所以這樣問,是因為我正在構建一個與技術無關的應用程序,並且在運行時插入了專門的類。 對我來說,另一個問題是擴展Apache Ignite的類並定義偽字段,只是為了使“字段”(假設它不是原始字段...)在Apache Ignite中可見。

有人有同樣的“問題”嗎?

原始類命令:

public class Command {
    private String commandName;

    public void setCommandName(String commandName) {
        this.commandName = commandName;
    }
    public String getCommandName(){
        return this.commandName;
    }
}

Ignite SQL的擴展Command類使用:

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();
    }
}

上面的代碼對我來說很好。

您可以在運行時但在啟動緩存之前配置查詢實體。 參見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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM