Skip to content

Commit

Permalink
update config index mappings to use correct field types (#2710) (#2718)
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]>

Signed-off-by: Bhavana Ramaram <[email protected]>
(cherry picked from commit 1926699)

Co-authored-by: Bhavana Ramaram <[email protected]>
  • Loading branch information
2 people authored and dhrubo-os committed Oct 2, 2024
1 parent 459f44d commit 053bdba
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 @@ -418,25 +421,24 @@ 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"
+ " \""
+ TENANT_ID
+ "\" : {\"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 @@ -28,11 +28,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 @@ -86,10 +93,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 @@ -109,9 +116,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;
String tenantId = null;

ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.currentToken(), parser);
Expand All @@ -123,9 +133,15 @@ 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;
Expand All @@ -135,16 +151,19 @@ public static MLConfig parse(XContentParser parser) throws IOException {
case TENANT_ID:
tenantId = parser.textOrNull();
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)
.tenantId(tenantId)
.build();
}
Expand Down

0 comments on commit 053bdba

Please sign in to comment.