Skip to content

Commit

Permalink
update config index mappings to use correct field types (#2710)
Browse files Browse the repository at this point in the history
* update config index mappings to use with correct field types

Signed-off-by: Bhavana Ramaram <[email protected]>

* enable dynamic mapping for config index

Signed-off-by: Bhavana Ramaram <[email protected]>

* change last_update_time field

Signed-off-by: Bhavana Ramaram <[email protected]>

---------

Signed-off-by: Bhavana Ramaram <[email protected]>
(cherry picked from commit 1926699)
  • Loading branch information
rbhavna authored and github-actions[bot] committed Jul 24, 2024
1 parent c84c947 commit cb3329c
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
10 changes: 6 additions & 4 deletions common/src/main/java/org/opensearch/ml/common/CommonValue.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@

import java.util.Set;

import static org.opensearch.ml.common.MLConfig.CONFIG_TYPE_FIELD;
import static org.opensearch.ml.common.MLConfig.LAST_UPDATED_TIME_FIELD;
import static org.opensearch.ml.common.MLConfig.ML_CONFIGURATION_FIELD;
import static org.opensearch.ml.common.conversation.ConversationalIndexConstants.APPLICATION_TYPE_FIELD;
import static org.opensearch.ml.common.conversation.ConversationalIndexConstants.INTERACTIONS_ADDITIONAL_INFO_FIELD;
import static org.opensearch.ml.common.conversation.ConversationalIndexConstants.INTERACTIONS_CONVERSATION_ID_FIELD;
Expand Down Expand Up @@ -407,22 +410,21 @@ public class CommonValue {
+ " \"_meta\": {\"schema_version\": "
+ ML_CONFIG_INDEX_SCHEMA_VERSION
+ "},\n"
+ " \"dynamic\": \"strict\",\n"
+ " \"properties\": {\n"
+ " \""
+ MASTER_KEY
+ "\": {\"type\": \"keyword\"},\n"
+ " \""
+ MLConfig.TYPE_FIELD
+ CONFIG_TYPE_FIELD
+ "\" : {\"type\":\"keyword\"},\n"
+ " \""
+ MLConfig.CONFIGURATION_FIELD
+ ML_CONFIGURATION_FIELD
+ "\" : {\"type\": \"flat_object\"},\n"
+ " \""
+ CREATE_TIME_FIELD
+ "\": {\"type\": \"date\", \"format\": \"strict_date_time||epoch_millis\"},\n"
+ " \""
+ LAST_UPDATE_TIME_FIELD
+ LAST_UPDATED_TIME_FIELD
+ "\": {\"type\": \"date\", \"format\": \"strict_date_time||epoch_millis\"}\n"
+ " }\n"
+ "}";
Expand Down
29 changes: 24 additions & 5 deletions common/src/main/java/org/opensearch/ml/common/MLConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,18 @@ public class MLConfig implements ToXContentObject, Writeable {

public static final String TYPE_FIELD = "type";

public static final String CONFIG_TYPE_FIELD = "config_type";

public static final String CONFIGURATION_FIELD = "configuration";

public static final String ML_CONFIGURATION_FIELD = "ml_configuration";

public static final String CREATE_TIME_FIELD = "create_time";
public static final String LAST_UPDATE_TIME_FIELD = "last_update_time";

public static final String LAST_UPDATED_TIME_FIELD = "last_updated_time";


@Setter
private String type;

Expand Down Expand Up @@ -78,10 +85,10 @@ public void writeTo(StreamOutput out) throws IOException {
public XContentBuilder toXContent(XContentBuilder xContentBuilder, Params params) throws IOException {
XContentBuilder builder = xContentBuilder.startObject();
if (type != null) {
builder.field(TYPE_FIELD, type);
builder.field(CONFIG_TYPE_FIELD, type);
}
if (configuration != null) {
builder.field(CONFIGURATION_FIELD, configuration);
builder.field(ML_CONFIGURATION_FIELD, configuration);
}
if (createTime != null) {
builder.field(CREATE_TIME_FIELD, createTime.toEpochMilli());
Expand All @@ -99,9 +106,12 @@ public static MLConfig fromStream(StreamInput in) throws IOException {

public static MLConfig parse(XContentParser parser) throws IOException {
String type = null;
String configType = null;
Configuration configuration = null;
Configuration mlConfiguration = null;
Instant createTime = null;
Instant lastUpdateTime = null;
Instant lastUpdatedTime = null;

ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.currentToken(), parser);
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
Expand All @@ -112,25 +122,34 @@ public static MLConfig parse(XContentParser parser) throws IOException {
case TYPE_FIELD:
type = parser.text();
break;
case CONFIG_TYPE_FIELD:
configType = parser.text();
break;
case CONFIGURATION_FIELD:
configuration = Configuration.parse(parser);
break;
case ML_CONFIGURATION_FIELD:
mlConfiguration = Configuration.parse(parser);
break;
case CREATE_TIME_FIELD:
createTime = Instant.ofEpochMilli(parser.longValue());
break;
case LAST_UPDATE_TIME_FIELD:
lastUpdateTime = Instant.ofEpochMilli(parser.longValue());
break;
case LAST_UPDATED_TIME_FIELD:
lastUpdatedTime = Instant.ofEpochMilli(parser.longValue());
break;
default:
parser.skipChildren();
break;
}
}
return MLConfig.builder()
.type(type)
.configuration(configuration)
.type(configType == null ? type : configType)
.configuration(mlConfiguration == null ? configuration : mlConfiguration)
.createTime(createTime)
.lastUpdateTime(lastUpdateTime)
.lastUpdateTime(lastUpdatedTime == null ? lastUpdateTime : lastUpdatedTime)
.build();
}
}

0 comments on commit cb3329c

Please sign in to comment.