From 8dbe2519a9fba14bb923f13e38625f981a98d175 Mon Sep 17 00:00:00 2001 From: jzonthemtn Date: Tue, 4 Feb 2025 15:21:30 -0500 Subject: [PATCH 1/4] #89 Adding mapping for query sets index. Signed-off-by: jzonthemtn --- scripts/create-query-set.json | 2 +- src/main/java/org/opensearch/eval/App.java | 2 ++ .../eval/engine/OpenSearchEngine.java | 26 +++++++++++++++++++ .../opensearch/eval/engine/SearchEngine.java | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/scripts/create-query-set.json b/scripts/create-query-set.json index 5d711d9..1241c2e 100644 --- a/scripts/create-query-set.json +++ b/scripts/create-query-set.json @@ -3,5 +3,5 @@ "name": "", "description": "", "sampling": "", - "querySetSize": 500 + "querySetSize": 250 } diff --git a/src/main/java/org/opensearch/eval/App.java b/src/main/java/org/opensearch/eval/App.java index 7bcc314..c4b4dbe 100644 --- a/src/main/java/org/opensearch/eval/App.java +++ b/src/main/java/org/opensearch/eval/App.java @@ -107,6 +107,8 @@ public static void main(String[] args) throws Exception { if(file.exists()) { + searchEngine.createQuerySetIndex(); + final String jsonString = Files.readString(file.toPath(), StandardCharsets.UTF_8); final JsonElement jsonElement = JsonParser.parseString(jsonString); final JsonObject jsonObject = jsonElement.getAsJsonObject(); diff --git a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java index a5b6a68..412a6fd 100644 --- a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java +++ b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java @@ -74,6 +74,8 @@ import java.util.Set; import java.util.UUID; +import static org.opensearch.eval.Constants.DASHBOARD_METRICS_INDEX_NAME; +import static org.opensearch.eval.Constants.QUERY_SETS_INDEX_NAME; import static org.opensearch.eval.judgments.clickmodel.coec.CoecClickModel.EVENT_CLICK; import static org.opensearch.eval.judgments.clickmodel.coec.CoecClickModel.EVENT_IMPRESSION; import static org.opensearch.eval.judgments.clickmodel.coec.CoecClickModel.INDEX_QUERY_DOC_CTR; @@ -901,4 +903,28 @@ public String indexJudgments(final Collection judgments) throws Except } + @Override + public void createQuerySetIndex() throws Exception { + + final boolean querySetsIndexExists = doesIndexExist(QUERY_SETS_INDEX_NAME); + + if (!querySetsIndexExists) { + + final String mapping = "{\n" + + " \"properties\": {\n" + + " \"datetime\": { \"type\": \"date\", \"format\": \"strict_date_time\" },\n" + + " \"description\": { \"type\": \"text\" },\n" + + " \"id\": { \"type\": \"keyword\" },\n" + + " \"name\": { \"type\": \"keyword\" },\n" + + " \"querySetQueries\": { \"type\": \"object\" },\n" + + " \"sampling\": { \"type\": \"keyword\" }\n" + + " }\n" + + " }"; + + createIndex(QUERY_SETS_INDEX_NAME, mapping); + + } + + } + } \ No newline at end of file diff --git a/src/main/java/org/opensearch/eval/engine/SearchEngine.java b/src/main/java/org/opensearch/eval/engine/SearchEngine.java index 3529a76..79c1a3e 100644 --- a/src/main/java/org/opensearch/eval/engine/SearchEngine.java +++ b/src/main/java/org/opensearch/eval/engine/SearchEngine.java @@ -17,6 +17,7 @@ public abstract class SearchEngine { public abstract boolean doesIndexExist(String index) throws IOException; public abstract boolean createIndex(String index, String mapping) throws IOException; public abstract boolean deleteIndex(String index) throws IOException; + public abstract void createQuerySetIndex() throws Exception; public abstract String getUserQuery(final String queryId) throws Exception; public abstract UbiQuery getQueryFromQueryId(final String queryId) throws Exception; From 08ea814bc1be66e9270305fa54a2326b6f7f19f6 Mon Sep 17 00:00:00 2001 From: jzonthemtn Date: Tue, 4 Feb 2025 15:24:06 -0500 Subject: [PATCH 2/4] #89 Fixing field name. Signed-off-by: jzonthemtn --- .../org/opensearch/eval/engine/OpenSearchEngine.java | 2 +- .../java/org/opensearch/eval/model/data/QuerySet.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java index 412a6fd..cdfc55d 100644 --- a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java +++ b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java @@ -916,7 +916,7 @@ public void createQuerySetIndex() throws Exception { " \"description\": { \"type\": \"text\" },\n" + " \"id\": { \"type\": \"keyword\" },\n" + " \"name\": { \"type\": \"keyword\" },\n" + - " \"querySetQueries\": { \"type\": \"object\" },\n" + + " \"query_set_queries\": { \"type\": \"object\" },\n" + " \"sampling\": { \"type\": \"keyword\" }\n" + " }\n" + " }"; diff --git a/src/main/java/org/opensearch/eval/model/data/QuerySet.java b/src/main/java/org/opensearch/eval/model/data/QuerySet.java index 712005a..920ea13 100644 --- a/src/main/java/org/opensearch/eval/model/data/QuerySet.java +++ b/src/main/java/org/opensearch/eval/model/data/QuerySet.java @@ -8,16 +8,27 @@ */ package org.opensearch.eval.model.data; +import com.fasterxml.jackson.annotation.JsonProperty; + import java.util.Collection; import java.util.Map; import java.util.UUID; public class QuerySet extends AbstractData { + @JsonProperty("name") private String name; + + @JsonProperty("description") private String description; + + @JsonProperty("sampling") private String sampling; + + @JsonProperty("query_set_queries") private Collection> querySetQueries; + + @JsonProperty("timestamp") private String timestamp; public QuerySet() { From ef05e7fb43d8d421a04983dd6cf04b492b0ccfbc Mon Sep 17 00:00:00 2001 From: jzonthemtn Date: Tue, 4 Feb 2025 15:28:51 -0500 Subject: [PATCH 3/4] #89 Change datetime to timestamp. Signed-off-by: jzonthemtn --- src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java index cdfc55d..3aa8199 100644 --- a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java +++ b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java @@ -912,7 +912,7 @@ public void createQuerySetIndex() throws Exception { final String mapping = "{\n" + " \"properties\": {\n" + - " \"datetime\": { \"type\": \"date\", \"format\": \"strict_date_time\" },\n" + + " \"timestamp\": { \"type\": \"date\", \"format\": \"strict_date_time\" },\n" + " \"description\": { \"type\": \"text\" },\n" + " \"id\": { \"type\": \"keyword\" },\n" + " \"name\": { \"type\": \"keyword\" },\n" + From e728a7991171ecc8dd662e9064c7003a6fcf7b3c Mon Sep 17 00:00:00 2001 From: jzonthemtn Date: Tue, 4 Feb 2025 15:29:42 -0500 Subject: [PATCH 4/4] #89 Removing import. Signed-off-by: jzonthemtn --- src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java index 3aa8199..d7c6fbd 100644 --- a/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java +++ b/src/main/java/org/opensearch/eval/engine/OpenSearchEngine.java @@ -74,7 +74,6 @@ import java.util.Set; import java.util.UUID; -import static org.opensearch.eval.Constants.DASHBOARD_METRICS_INDEX_NAME; import static org.opensearch.eval.Constants.QUERY_SETS_INDEX_NAME; import static org.opensearch.eval.judgments.clickmodel.coec.CoecClickModel.EVENT_CLICK; import static org.opensearch.eval.judgments.clickmodel.coec.CoecClickModel.EVENT_IMPRESSION;