diff --git a/src/main/perf/SearchTask.java b/src/main/perf/SearchTask.java index 741a65d0..5358a814 100644 --- a/src/main/perf/SearchTask.java +++ b/src/main/perf/SearchTask.java @@ -239,20 +239,20 @@ public void go(IndexState state, TaskParser taskParser) throws IOException { facetResults = new ArrayList(); // TODO: support sort, filter too!! // TODO: support other facet methods - List classicFacetRequests = new ArrayList<>(); - List sandboxFacetRequests = new ArrayList<>(); + List postCollectionFacetTasks = new ArrayList<>(); + List duringCollectionFacetTasks = new ArrayList<>(); for (TaskParser.TaskBuilder.FacetTask request : facetRequests) { switch (request.facetMode()) { case UNDEFINED: - case CLASSIC: - classicFacetRequests.add(request); + case POST_COLLECTION: + postCollectionFacetTasks.add(request); break; - case SANDBOX: - sandboxFacetRequests.add(request); + case DURING_COLLECTION: + duringCollectionFacetTasks.add(request); } } long t0 = System.nanoTime(); - if (sandboxFacetRequests.isEmpty() == false) { + if (duringCollectionFacetTasks.isEmpty() == false) { // TODO: once we have helper methods for easy sandbox facet use cases // lets use them to make this code shorter and less prone to errors // TODO: sandbox facet module doesn't currently have methods to aggregate for all docs in the index. @@ -264,7 +264,7 @@ public void go(IndexState state, TaskParser taskParser) throws IOException { if (q instanceof MatchAllDocsQuery == false) { collectorManagers.add(new TopScoreDocCollectorManager(10, null, Integer.MAX_VALUE)); } - for (TaskParser.TaskBuilder.FacetTask request : sandboxFacetRequests) { + for (TaskParser.TaskBuilder.FacetTask request : duringCollectionFacetTasks) { String indexFieldName; // TODO: handle other types, not just taxonomy if (request.dimension().endsWith(".taxonomy")) { @@ -287,7 +287,7 @@ public void go(IndexState state, TaskParser taskParser) throws IOException { if (q instanceof MatchAllDocsQuery == false) { hits = (TopDocs) results[0]; } - for (TaskParser.TaskBuilder.FacetTask request : sandboxFacetRequests) { + for (TaskParser.TaskBuilder.FacetTask request : duringCollectionFacetTasks) { FacetsConfig.DimConfig dimConfig = state.facetsConfig.getDimConfig(request.dimension()); String indexFieldName = dimConfig.indexFieldName; CountFacetRecorder recorder = indexFieldToRecorder.get(indexFieldName); @@ -350,9 +350,9 @@ public void go(IndexState state, TaskParser taskParser) throws IOException { childCount)); } } - if (classicFacetRequests.isEmpty() == false) { + if (postCollectionFacetTasks.isEmpty() == false) { if (q instanceof MatchAllDocsQuery) { - for (TaskParser.TaskBuilder.FacetTask request : classicFacetRequests) { + for (TaskParser.TaskBuilder.FacetTask request : postCollectionFacetTasks) { if (request.dimension().startsWith("range:")) { throw new AssertionError("fix me!"); } else if (request.dimension().endsWith(".taxonomy")) { @@ -376,7 +376,7 @@ public void go(IndexState state, TaskParser taskParser) throws IOException { FacetsCollectorManager.FacetsResult fr = FacetsCollectorManager.search(searcher, q, 10, new FacetsCollectorManager()); hits = fr.topDocs(); FacetsCollector fc = fr.facetsCollector(); - for (TaskParser.TaskBuilder.FacetTask facetRequest : classicFacetRequests) { + for (TaskParser.TaskBuilder.FacetTask facetRequest : postCollectionFacetTasks) { String request = facetRequest.dimension(); if (request.startsWith("range:")) { int i = request.indexOf(':', 6); diff --git a/src/main/perf/TaskParser.java b/src/main/perf/TaskParser.java index cbea4606..3f205620 100644 --- a/src/main/perf/TaskParser.java +++ b/src/main/perf/TaskParser.java @@ -410,8 +410,8 @@ List parseDismaxFields() { List parseFacets() { List facets = new ArrayList<>(); Map prefixTypes = Map.of(" +facets:", TestContext.FacetMode.UNDEFINED, - " +сlassic_facets:", TestContext.FacetMode.CLASSIC, - " +sandbox_facets:", TestContext.FacetMode.SANDBOX + " +post_collection_facets:", TestContext.FacetMode.POST_COLLECTION, + " +during_collection_facets:", TestContext.FacetMode.DURING_COLLECTION ); while (true) { boolean found = false; diff --git a/src/main/perf/TestContext.java b/src/main/perf/TestContext.java index 92933afb..7f986fe3 100644 --- a/src/main/perf/TestContext.java +++ b/src/main/perf/TestContext.java @@ -50,8 +50,8 @@ public static TestContext parse(String context) { public enum FacetMode { UNDEFINED, - CLASSIC, - SANDBOX, // TODO: better names? + POST_COLLECTION, + DURING_COLLECTION, } } diff --git a/src/python/benchUtil.py b/src/python/benchUtil.py index 857e700a..f5dd533f 100644 --- a/src/python/benchUtil.py +++ b/src/python/benchUtil.py @@ -1196,6 +1196,7 @@ def runSimpleSearchBench(self, iter, id, c, f',filename={constants.LOGS_DIR}/bench-search-{id}-{c.name}-{iter}.jfr', '-XX:+UnlockDiagnosticVMOptions', '-XX:+DebugNonSafepoints', + # uncomment the line below to enable remote debugging # '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:7891' ] diff --git a/src/python/localrunFacets.py b/src/python/localrunFacets.py index f2a16b54..d7576419 100644 --- a/src/python/localrunFacets.py +++ b/src/python/localrunFacets.py @@ -49,12 +49,12 @@ ('taxonomy:RandomLabel', 'RandomLabel'), ('sortedset:RandomLabel', 'RandomLabel'))) # create a competitor named baseline with sources in the ../trunk folder - comp.competitor('classic_facets', args.lucene_dir, + comp.competitor('post_collection_facets', args.lucene_dir, index = index, searchConcurrency = args.searchConcurrency, - testContext="facetMode:CLASSIC") - comp.competitor('sandbox_facets', args.lucene_dir, + testContext="facetMode:POST_COLLECTION", pk = False) + comp.competitor('during_collection_facets', args.lucene_dir, index = index, searchConcurrency = args.searchConcurrency, - testContext="facetMode:SANDBOX") + testContext="facetMode:DURING_COLLECTION", pk = False) # start the benchmark - this can take long depending on your index and machines - comp.benchmark("sandbox_facets") + comp.benchmark("facet_implementations")