Conversation
Signed-off-by: jzonthemtn <jeff.zemerick@mtnfog.com>
Signed-off-by: jzonthemtn <jeff.zemerick@mtnfog.com>
Signed-off-by: jzonthemtn <jeff.zemerick@mtnfog.com>
wrigleyDan
left a comment
There was a problem hiding this comment.
Thanks for taking a first stab at this. I now realize that we had some flaws in the design that we have in the Miro board.
Adding a couple of points to add clarity on how I think search result comparison might work:
- User defines at least two search configurations. At the moment we don't have a finalized decision on what a search configuration exactly is. At the moment I think it is a Query DSL object + an optional search pipeline (similar to what we can confIgure when we "run a query set" (=run an evaluation to calculate search metrics) or a search template.
- User creates a query set with one of the existing samplers.
- User defines the configuration of the search comparison job similarly to defining a config file for query set generation:
{
"query_set_id": "abc", --> the created query set
"search_configurations": ["X", "Y"], --> the two search configurations to compare
"k": 10, --> result list depth
"index": "ecommerce" --> the index to run the queries of the query set with the search configurations
}
- User runs the search comparison where
search-comparison.jsonis the just created JSON file.
java -jar ../target/search-evaluation-framework.jar -search-comparison search-comparison.json
The search result quality app now runs every query from the query set abc once for each search configuration (X, Y), stores the results, compares the results for each query and calculates the metrics Jaccard & RBO.
Let me know if that makes sense or if you need anything in addition to this.
That makes sense, and I think that's what I had in mind even if it's not quite what was on the Miro board. In this draft PR, the user can create (index) a search config. The next step is once the user has created at least two search configs, they can do the evaluation by specifying two search config IDs like in the JSON you gave above. Does that sound on track? |
Yes, that does sound on track. I think what triggered my long response was the impression that it looks like the configuration file that defines the result comparison evaluation job is indexed as a search configuration and that shouldn't be the case. The search configuration is something we had not thought about when initially talking about result list comparison, now it starts to take shape. As a starting point I suggest we define it as a Does that sound reasonable or am I misunderstanding something? |
You are right. I picked up the wrong set of info for the search config. |
|
I'm going to close this PR because the work has been moved over to https://github.com/o19s/search-relevance/issues/15. |
Adds indexing of search configs and evaluating search configs for #108.