Search in sources :

Example 1 with CountFacet

use of io.zulia.client.command.builder.CountFacet in project zuliasearch by zuliaio.

the class StartStopTest method boolTestBuilder.

@Test
@Order(3)
public void boolTestBuilder() throws Exception {
    Search s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:true"));
    SearchResult searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(6, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:1"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(6, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:True"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(6, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:y"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(6, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:yes"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(6, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:false"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(4, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:0"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(4, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:no"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(4, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:f"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(4, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:fake"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(0, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addQuery(new FilterQuery("testBool:*"));
    searchResult = zuliaWorkPool.search(s);
    Assertions.assertEquals(10, searchResult.getTotalHits());
    s = new Search(FACET_TEST_INDEX).addCountFacet(new CountFacet("testBool"));
    searchResult = zuliaWorkPool.search(s);
    List<FacetCount> facetCounts = searchResult.getFacetCounts("testBool");
    Assertions.assertEquals(2, facetCounts.size());
    Assertions.assertEquals(6, facetCounts.get(0).getCount());
    Assertions.assertEquals("True", facetCounts.get(0).getFacet());
    Assertions.assertEquals(4, facetCounts.get(1).getCount());
    Assertions.assertEquals("False", facetCounts.get(1).getFacet());
}
Also used : Search(io.zulia.client.command.builder.Search) FilterQuery(io.zulia.client.command.builder.FilterQuery) SearchResult(io.zulia.client.result.SearchResult) FacetCount(io.zulia.message.ZuliaQuery.FacetCount) CountFacet(io.zulia.client.command.builder.CountFacet) Order(org.junit.jupiter.api.Order) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Test(org.junit.jupiter.api.Test)

Example 2 with CountFacet

use of io.zulia.client.command.builder.CountFacet in project zuliasearch by zuliaio.

the class Zulia method main.

public static void main(String[] args) {
    LogUtil.init();
    ZuliaBaseArgs zuliaArgs = new ZuliaBaseArgs();
    GetIndexesCmd getIndexesCmd = new GetIndexesCmd();
    VersionCmd version = new VersionCmd();
    ClearCmd clear = new ClearCmd();
    OptimizeCmd optimize = new OptimizeCmd();
    GetCountCmd getCount = new GetCountCmd();
    GetCurrentNodesCmd getCurrentNodes = new GetCurrentNodesCmd();
    GetFieldsCmd getFields = new GetFieldsCmd();
    DeleteCmd delete = new DeleteCmd();
    ReindexCmd reindex = new ReindexCmd();
    QueryCmd query = new QueryCmd();
    JCommander jCommander = JCommander.newBuilder().addObject(zuliaArgs).addCommand(version).addCommand(getIndexesCmd).addCommand(query).addCommand(clear).addCommand(getCount).addCommand(getCurrentNodes).addCommand(getFields).addCommand(delete).addCommand(reindex).addCommand(optimize).build();
    try {
        jCommander.parse(args);
        if (jCommander.getParsedCommand() == null) {
            jCommander.usage();
            System.exit(2);
        }
        ZuliaPoolConfig config = new ZuliaPoolConfig().addNode(zuliaArgs.address, zuliaArgs.port);
        ZuliaWorkPool workPool = new ZuliaWorkPool(config);
        if ("--version".equalsIgnoreCase(jCommander.getParsedCommand())) {
            System.out.println(ZuliaVersion.getVersion());
            System.exit(0);
        }
        if ("getIndexes".equalsIgnoreCase(jCommander.getParsedCommand())) {
            GetIndexes getIndexes = new GetIndexes();
            GetIndexesResult execute = workPool.execute(getIndexes);
            System.out.println(execute.getIndexNames());
            System.exit(0);
        }
        String index = zuliaArgs.index;
        if (index == null) {
            System.err.println("Please pass in an index.");
            jCommander.usage();
            System.exit(2);
        }
        if ("query".equals(jCommander.getParsedCommand())) {
            Search search;
            if (query.indexes != null) {
                search = new Search(query.indexes);
            } else {
                search = new Search(index);
            }
            search.setAmount(query.rows);
            ScoredQuery scoredQuery = new ScoredQuery(query.q);
            if (query.qf != null) {
                query.qf.forEach(scoredQuery::addQueryField);
            }
            if (query.minimumNumberShouldMatch != null) {
                scoredQuery.setMinShouldMatch(query.minimumNumberShouldMatch);
            }
            search.addQuery(scoredQuery);
            search.setStart(query.start);
            if (query.fetch.equalsIgnoreCase("full")) {
                search.setResultFetchType(ZuliaQuery.FetchType.FULL);
            }
            if (query.facets != null) {
                for (String facet : query.facets) {
                    search.addCountFacet(new CountFacet(facet).setTopN(query.facetCount).setTopNShard(query.facetShardCount));
                }
            }
            if (query.sortFields != null) {
                for (String sortField : query.sortFields) {
                    search.addSort(new Sort(sortField));
                }
                ;
            }
            if (query.sortDescFields != null) {
                for (String sortDesc : query.sortDescFields) {
                    search.addSort(new Sort(sortDesc).descending());
                }
            }
            if (query.fq != null) {
                for (String filterQuery : query.fq) {
                    search.addQuery(new FilterQuery(filterQuery));
                }
            }
            if (query.fl != null) {
                query.fl.forEach(search::addDocumentField);
            }
            if (query.flMask != null) {
                query.flMask.forEach(search::addDocumentMaskedField);
            }
            SearchResult searchResult = workPool.search(search);
            List<ZuliaQuery.ScoredResult> srList = searchResult.getResults();
            System.out.println("QueryTime: " + (searchResult.getCommandTimeMs()) + "ms");
            System.out.println("TotalResults: " + searchResult.getTotalHits());
            System.out.println("Results:");
            System.out.print("UniqueId");
            System.out.print("\t");
            System.out.print("Score");
            System.out.print("\t");
            System.out.print("Index");
            System.out.print("\t");
            System.out.print("Shard");
            System.out.print("\t");
            System.out.print("LuceneShardId");
            System.out.print("\t");
            System.out.print("Sort");
            System.out.print("\t");
            if (query.fetch.equalsIgnoreCase("full")) {
                System.out.print("Document");
            }
            System.out.println();
            for (ZuliaQuery.ScoredResult sr : srList) {
                System.out.print(sr.getUniqueId());
                System.out.print("\t");
                System.out.print(df.format(sr.getScore()));
                System.out.print("\t");
                System.out.print(sr.getIndexName());
                System.out.print("\t");
                System.out.print(sr.getShard());
                System.out.print("\t");
                System.out.print(sr.getLuceneShardId());
                System.out.print("\t");
                StringBuffer sb = new StringBuffer();
                if (sr.hasSortValues()) {
                    for (ZuliaQuery.SortValue sortValue : sr.getSortValues().getSortValueList()) {
                        if (sb.length() != 0) {
                            sb.append(",");
                        }
                        if (sortValue.getExists()) {
                            if (sortValue.getDateValue() != 0) {
                                sb.append(new Date(sortValue.getDateValue()));
                            } else if (sortValue.getDoubleValue() != 0) {
                                sb.append(sortValue.getDoubleValue());
                            } else if (sortValue.getFloatValue() != 0) {
                                sb.append(sortValue.getFloatValue());
                            } else if (sortValue.getIntegerValue() != 0) {
                                sb.append(sortValue.getIntegerValue());
                            } else if (sortValue.getLongValue() != 0) {
                                sb.append(sortValue.getLongValue());
                            } else if (sortValue.getStringValue() != null) {
                                sb.append(sortValue.getStringValue());
                            }
                        } else {
                            sb.append("!NULL!");
                        }
                    }
                }
                if (sb.length() != 0) {
                    System.out.print(sb);
                } else {
                    System.out.print("--");
                }
                if (query.fetch != null && query.fetch.equalsIgnoreCase("full")) {
                    System.out.print("\t");
                    if (sr.hasResultDocument()) {
                        ZuliaBase.ResultDocument resultDocument = sr.getResultDocument();
                        if (resultDocument.getDocument() != null) {
                            Document mongoDocument = new Document();
                            mongoDocument.putAll(ZuliaUtil.byteArrayToMongoDocument(resultDocument.getDocument().toByteArray()));
                            System.out.println(mongoDocument.toJson());
                        }
                    }
                }
                System.out.println();
            }
            if (!searchResult.getFacetGroups().isEmpty()) {
                System.out.println("Facets:");
                for (ZuliaQuery.FacetGroup fg : searchResult.getFacetGroups()) {
                    System.out.println();
                    System.out.println("--Facet on " + fg.getCountRequest().getFacetField().getLabel() + "--");
                    for (ZuliaQuery.FacetCount fc : fg.getFacetCountList()) {
                        System.out.print(fc.getFacet());
                        System.out.print("\t");
                        System.out.print(fc.getCount());
                        System.out.print("\t");
                        System.out.print("+" + fc.getMaxError());
                        System.out.println();
                    }
                    if (fg.getPossibleMissing()) {
                        System.out.println("Possible facets missing from top results for <" + fg.getCountRequest().getFacetField().getLabel() + "> with max count <" + fg.getMaxValuePossibleMissing() + ">");
                    }
                }
            }
        } else if ("clear".equals(jCommander.getParsedCommand())) {
            System.out.println("Clearing index: " + index);
            ClearIndexResult response = workPool.execute(new ClearIndex(index));
            System.out.println("Cleared index: " + index);
        } else if ("getCount".equals(jCommander.getParsedCommand())) {
            GetNumberOfDocsResult response = workPool.execute(new GetNumberOfDocs(index));
            System.out.println("Shards: " + response.getShardCountResponseCount());
            System.out.println("Count: " + response.getNumberOfDocs());
            for (ZuliaBase.ShardCountResponse scr : response.getShardCountResponses()) {
                System.out.println("Shard [" + scr.getShardNumber() + "] Count:\n" + scr.getNumberOfDocs());
            }
        } else if ("getCurrentNodes".equals(jCommander.getParsedCommand())) {
            GetNodesResult response = workPool.execute(new GetNodes());
            System.out.println("serverAddress\tservicePort\theartBeat\trestPort\tversion");
            for (ZuliaBase.Node val : response.getNodes()) {
                String nodeVersion = val.getVersion();
                if (nodeVersion == null || nodeVersion.isEmpty()) {
                    nodeVersion = "< " + ZuliaVersion.getVersionAdded();
                }
                System.out.println(val.getServerAddress() + "\t" + val.getServicePort() + "\t" + val.getHeartbeat() + "\t" + val.getRestPort() + "\t" + nodeVersion);
            }
        } else if ("getFields".equals(jCommander.getParsedCommand())) {
            GetFieldsResult response = workPool.execute(new io.zulia.client.command.GetFields(index));
            response.getFieldNames().forEach(System.out::println);
        } else if ("delete".equals(jCommander.getParsedCommand())) {
            System.out.println("Deleting index: " + index);
            DeleteIndexResult response = workPool.execute(new DeleteIndex(index));
            System.out.println("Deleted index: " + index);
        } else if ("reindex".equals(jCommander.getParsedCommand())) {
            if (index.contains("*")) {
                GetIndexesResult indexesResult = workPool.getIndexes();
                for (String ind : indexesResult.getIndexNames()) {
                    if (ind.startsWith(index.replace("*", ""))) {
                        System.out.println("Reindexing index: " + ind);
                        ReindexResult response = workPool.execute(new Reindex(ind));
                        System.out.println("Reindexed index: " + ind);
                    }
                }
            } else {
                System.out.println("Reindexing index: " + index);
                ReindexResult response = workPool.execute(new Reindex(index));
                System.out.println("Reindexed index: " + index);
            }
        } else if ("optimize".equals(jCommander.getParsedCommand())) {
            System.out.println("Optimizing index: " + index);
            OptimizeIndexResult response = workPool.execute(new OptimizeIndex(index));
            System.out.println("Optimized index: " + index);
        }
    } catch (Exception e) {
        if (e instanceof ParameterException) {
            System.err.println(e.getMessage());
            jCommander.usage();
            System.exit(2);
        } else {
            e.printStackTrace();
        }
    }
}
Also used : ZuliaWorkPool(io.zulia.client.pool.ZuliaWorkPool) ZuliaBase(io.zulia.message.ZuliaBase) FilterQuery(io.zulia.client.command.builder.FilterQuery) GetFieldsResult(io.zulia.client.result.GetFieldsResult) Document(org.bson.Document) ScoredQuery(io.zulia.client.command.builder.ScoredQuery) DeleteIndex(io.zulia.client.command.DeleteIndex) Search(io.zulia.client.command.builder.Search) GetIndexes(io.zulia.client.command.GetIndexes) Sort(io.zulia.client.command.builder.Sort) ParameterException(com.beust.jcommander.ParameterException) GetNodes(io.zulia.client.command.GetNodes) GetIndexesResult(io.zulia.client.result.GetIndexesResult) CountFacet(io.zulia.client.command.builder.CountFacet) ReindexResult(io.zulia.client.result.ReindexResult) OptimizeIndexResult(io.zulia.client.result.OptimizeIndexResult) ZuliaQuery(io.zulia.message.ZuliaQuery) Reindex(io.zulia.client.command.Reindex) ClearIndex(io.zulia.client.command.ClearIndex) JCommander(com.beust.jcommander.JCommander) ClearIndexResult(io.zulia.client.result.ClearIndexResult) OptimizeIndex(io.zulia.client.command.OptimizeIndex) SearchResult(io.zulia.client.result.SearchResult) DeleteIndexResult(io.zulia.client.result.DeleteIndexResult) Date(java.util.Date) ParameterException(com.beust.jcommander.ParameterException) GetNumberOfDocs(io.zulia.client.command.GetNumberOfDocs) GetNodesResult(io.zulia.client.result.GetNodesResult) ZuliaPoolConfig(io.zulia.client.config.ZuliaPoolConfig) GetNumberOfDocsResult(io.zulia.client.result.GetNumberOfDocsResult)

Example 3 with CountFacet

use of io.zulia.client.command.builder.CountFacet in project zuliasearch by zuliaio.

the class StartStopTest method reindex.

@Test
@Order(4)
public void reindex() throws Exception {
    ClientIndexConfig indexConfig = new ClientIndexConfig();
    indexConfig.addDefaultSearchField("title");
    indexConfig.addFieldConfig(FieldConfigBuilder.create("id", FieldType.STRING).indexAs(DefaultAnalyzers.LC_KEYWORD).sort());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("title", FieldType.STRING).indexAs(DefaultAnalyzers.STANDARD).sort());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("issn", FieldType.STRING).indexAs(DefaultAnalyzers.LC_KEYWORD).facet().sort());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("eissn", FieldType.STRING).indexAs(DefaultAnalyzers.LC_KEYWORD).facet());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("uid", FieldType.STRING).indexAs(DefaultAnalyzers.LC_KEYWORD));
    indexConfig.addFieldConfig(FieldConfigBuilder.create("an", FieldType.NUMERIC_INT).index().displayName("Accession Number").sort());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("country", FieldType.STRING).indexAs(DefaultAnalyzers.LC_KEYWORD).facet().sort());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("date", FieldType.DATE).index().facetAs(DateHandling.DATE_YYYY_MM_DD).description("The very special data").sort());
    indexConfig.addFieldConfig(FieldConfigBuilder.create("testList", FieldType.STRING).index());
    indexConfig.setIndexName(FACET_TEST_INDEX);
    indexConfig.setNumberOfShards(1);
    zuliaWorkPool.createIndex(indexConfig);
    zuliaWorkPool.reindex(new Reindex(FACET_TEST_INDEX));
    Search search = new Search(FACET_TEST_INDEX).addCountFacet(new CountFacet("eissn"));
    SearchResult searchResult = zuliaWorkPool.search(search);
    List<FacetCount> eissnCounts = searchResult.getFacetCounts("eissn");
    Assertions.assertEquals(eissns.length, eissnCounts.size());
    for (FacetCount eissnCount : eissnCounts) {
        Assertions.assertEquals(COUNT_PER_ISSN, eissnCount.getCount());
    }
}
Also used : Search(io.zulia.client.command.builder.Search) ClientIndexConfig(io.zulia.client.config.ClientIndexConfig) SearchResult(io.zulia.client.result.SearchResult) FacetCount(io.zulia.message.ZuliaQuery.FacetCount) Reindex(io.zulia.client.command.Reindex) CountFacet(io.zulia.client.command.builder.CountFacet) Order(org.junit.jupiter.api.Order) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Test(org.junit.jupiter.api.Test)

Example 4 with CountFacet

use of io.zulia.client.command.builder.CountFacet in project zuliasearch by zuliaio.

the class HierarchicalFacetTest method facetTest.

@Test
@Order(3)
public void facetTest() throws Exception {
    Search search = new Search(FACET_TEST_INDEX);
    search.addCountFacet(new CountFacet("path"));
    search.addCountFacet(new CountFacet("date"));
    SearchResult queryResult = zuliaWorkPool.search(search);
    List<FacetCount> paths = queryResult.getFacetCounts("path");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("1")) {
            Assertions.assertEquals(30, path.getCount());
        } else if (path.getFacet().equals("a")) {
            Assertions.assertEquals(20, path.getCount());
        } else if (path.getFacet().equals("2")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("3")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("4")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("one")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    paths = queryResult.getFacetCounts("date");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("2012")) {
            Assertions.assertEquals(45, path.getCount());
        } else if (path.getFacet().equals("2013")) {
            Assertions.assertEquals(36, path.getCount());
        } else if (path.getFacet().equals("2014")) {
            Assertions.assertEquals(9, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    search = new Search(FACET_TEST_INDEX);
    search.addCountFacet(new CountFacet("path", "1"));
    search.addCountFacet(new CountFacet("path", "2"));
    queryResult = zuliaWorkPool.search(search);
    paths = queryResult.getFacetCountsForPath("path", "1");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("2")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("3")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    paths = queryResult.getFacetCountsForPath("path", "2");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("3")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    search = new Search(FACET_TEST_INDEX);
    search.addCountFacet(new CountFacet("path", "one", "two"));
    queryResult = zuliaWorkPool.search(search);
    paths = queryResult.getFacetCountsForPath("path", "one", "two");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("three")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    search = new Search(FACET_TEST_INDEX);
    search.addCountFacet(new CountFacet("path2"));
    Search finalSearch = search;
    Assertions.assertThrows(Exception.class, () -> zuliaWorkPool.search(finalSearch), "path2 is not defined as a facetable field");
}
Also used : Search(io.zulia.client.command.builder.Search) SearchResult(io.zulia.client.result.SearchResult) FacetCount(io.zulia.message.ZuliaQuery.FacetCount) AssertionFailedError(org.opentest4j.AssertionFailedError) CountFacet(io.zulia.client.command.builder.CountFacet) Order(org.junit.jupiter.api.Order) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Test(org.junit.jupiter.api.Test)

Example 5 with CountFacet

use of io.zulia.client.command.builder.CountFacet in project zuliasearch by zuliaio.

the class HierarchicalFacetTest method confirm.

@Test
@Order(6)
public void confirm() throws Exception {
    Search search = new Search(FACET_TEST_INDEX);
    String pathField = "path2";
    search.addCountFacet(new CountFacet(pathField));
    search.addCountFacet(new CountFacet("date"));
    SearchResult queryResult = zuliaWorkPool.search(search);
    List<FacetCount> paths = queryResult.getFacetCounts(pathField);
    for (FacetCount path : paths) {
        if (path.getFacet().equals("1")) {
            Assertions.assertEquals(30, path.getCount());
        } else if (path.getFacet().equals("a")) {
            Assertions.assertEquals(20, path.getCount());
        } else if (path.getFacet().equals("2")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("3")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("4")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("one")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    paths = queryResult.getFacetCounts("date");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("2012")) {
            Assertions.assertEquals(45, path.getCount());
        } else if (path.getFacet().equals("2013")) {
            Assertions.assertEquals(36, path.getCount());
        } else if (path.getFacet().equals("2014")) {
            Assertions.assertEquals(9, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    search = new Search(FACET_TEST_INDEX);
    search.addCountFacet(new CountFacet(pathField, "1"));
    queryResult = zuliaWorkPool.search(search);
    paths = queryResult.getFacetCountsForPath(pathField, "1");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("2")) {
            Assertions.assertEquals(10, path.getCount());
        } else if (path.getFacet().equals("3")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
    search = new Search(FACET_TEST_INDEX);
    search.addCountFacet(new CountFacet(pathField, "one", "two"));
    queryResult = zuliaWorkPool.search(search);
    paths = queryResult.getFacetCountsForPath(pathField, "one", "two");
    for (FacetCount path : paths) {
        if (path.getFacet().equals("three")) {
            Assertions.assertEquals(10, path.getCount());
        } else {
            throw new AssertionFailedError("Unexpect path <" + path.getFacet() + ">");
        }
    }
}
Also used : Search(io.zulia.client.command.builder.Search) SearchResult(io.zulia.client.result.SearchResult) FacetCount(io.zulia.message.ZuliaQuery.FacetCount) AssertionFailedError(org.opentest4j.AssertionFailedError) CountFacet(io.zulia.client.command.builder.CountFacet) Order(org.junit.jupiter.api.Order) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Test(org.junit.jupiter.api.Test)

Aggregations

CountFacet (io.zulia.client.command.builder.CountFacet)5 Search (io.zulia.client.command.builder.Search)5 SearchResult (io.zulia.client.result.SearchResult)5 FacetCount (io.zulia.message.ZuliaQuery.FacetCount)4 Order (org.junit.jupiter.api.Order)4 Test (org.junit.jupiter.api.Test)4 TestMethodOrder (org.junit.jupiter.api.TestMethodOrder)4 Reindex (io.zulia.client.command.Reindex)2 FilterQuery (io.zulia.client.command.builder.FilterQuery)2 AssertionFailedError (org.opentest4j.AssertionFailedError)2 JCommander (com.beust.jcommander.JCommander)1 ParameterException (com.beust.jcommander.ParameterException)1 ClearIndex (io.zulia.client.command.ClearIndex)1 DeleteIndex (io.zulia.client.command.DeleteIndex)1 GetIndexes (io.zulia.client.command.GetIndexes)1 GetNodes (io.zulia.client.command.GetNodes)1 GetNumberOfDocs (io.zulia.client.command.GetNumberOfDocs)1 OptimizeIndex (io.zulia.client.command.OptimizeIndex)1 ScoredQuery (io.zulia.client.command.builder.ScoredQuery)1 Sort (io.zulia.client.command.builder.Sort)1