Example usage for org.apache.solr.client.solrj SolrQuery getQuery

List of usage examples for org.apache.solr.client.solrj SolrQuery getQuery

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery getQuery.

Prototype

public String getQuery() 

Source Link

Usage

From source file:org.opencommercesearch.RuleManager.java

License:Apache License

void setRuleParams(SolrQuery query, boolean isSearch, boolean isRuleBasedPage, String categoryPath,
        FilterQuery[] filterQueries, RepositoryItem catalog, boolean isOutletPage, String brandId)
        throws RepositoryException, SolrServerException {
    if (getRules() == null) {
        String categoryFilterQuery = extractCategoryFilterQuery(filterQueries);
        String includeExp[] = (String[]) query.getParams("includeRules");
        String excludeExp[] = (String[]) query.getParams("excludeRules");

        Set<String> includeExperiments = new HashSet<String>();
        if (includeExp != null) {
            includeExperiments = new HashSet<String>(Arrays.asList(includeExp));
        }/*from w  w  w  . jav  a 2  s  .  c  om*/
        Set<String> excludeExperiments = new HashSet<String>();
        if (excludeExp != null) {
            excludeExperiments = new HashSet<String>(Arrays.asList(excludeExp));
        }
        loadRules(query.getQuery(), categoryPath, categoryFilterQuery, isSearch, isRuleBasedPage, catalog,
                isOutletPage, brandId, includeExperiments, excludeExperiments);
    }
    setRuleParams(query, getRules());
    setFilterQueries(filterQueries, catalog.getRepositoryId(), query);
}

From source file:org.opencommercesearch.RuleManagerTest.java

License:Apache License

@Test
public void testSetRuleParamsAndSetFilterQueries() throws RepositoryException, SolrServerException {
    // make sure that the facetManager gets addFacet called when we supply facets
    final FacetManager facetManager = mock(FacetManager.class);
    RuleManager mgr = new RuleManager(repository, builder, server) {
        @Override/*www  .  j a  v a  2  s .c  o  m*/
        public FacetManager getFacetManager() {
            return facetManager;
        }
    };

    // we need to make sure that we test filterQueries here...
    SolrDocumentList solrDocumentList = new SolrDocumentList();
    // ---------- set up docs with a rule type -----------
    setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false,
            solrDocumentList);
    // note that we do NOT add this into the Repository so that we have a null rule in loadRules, this causes this document to not go into the rules
    SolrDocument rule = new SolrDocument();
    rule.addField("description", "description facetRule2");
    rule.addField("id", "facetRule2");
    solrDocumentList.add(rule);
    setUpRuleData(null, "description facetRule3", "facetRule3", boostRule, boostRuleItem1, false,
            solrDocumentList);

    // ----------- set up doclist attributes ----------
    solrDocumentList.setNumFound(solrDocumentList.size());
    solrDocumentList.setStart(0L);
    //        solrDocumentList.setMaxScore(1000.0);
    when(queryResponse.getResults()).thenReturn(solrDocumentList);
    when(server.query(any(SolrParams.class))).thenReturn(queryResponse);

    // ------------ make the call to load the rules etc -------------
    RepositoryItem catalog = mock(RepositoryItem.class);
    when(catalog.getRepositoryId()).thenReturn("bobcatalog");
    SolrQuery query = mock(SolrQuery.class);
    when(query.getQuery()).thenReturn("jackets");

    FilterQuery[] filterQueries = new FilterQuery[] { new FilterQuery("category", "jackets"), // is a multi
            new FilterQuery("category", "12.jackets"), // is a multi
            new FilterQuery("hasPinStripes", "redstripes"), new FilterQuery("hasFeathers", "socks&stuff"),
            new FilterQuery("hasLaces", "raingear"), // is a multi
            new FilterQuery("chopsticks", "lookout below") };

    // set up the facet items to catch all conditions
    RepositoryItem categoryFacetItem = mock(RepositoryItem.class);
    when(facetManager.getFacetItem("category")).thenReturn(categoryFacetItem);
    when(categoryFacetItem.getPropertyValue((FacetProperty.IS_MULTI_SELECT))).thenReturn(true);

    RepositoryItem hasPinStripesFacetItem = mock(RepositoryItem.class);
    when(facetManager.getFacetItem("hasPinStripes")).thenReturn(hasPinStripesFacetItem);
    when(hasPinStripesFacetItem.getPropertyValue((FacetProperty.IS_MULTI_SELECT))).thenReturn(false);

    RepositoryItem hasFeathersFacetItem = mock(RepositoryItem.class);
    when(facetManager.getFacetItem("hasFeathers")).thenReturn(hasFeathersFacetItem);
    // don't support multi for hasFeathers...

    RepositoryItem hasLacesFacetItem = mock(RepositoryItem.class);
    when(facetManager.getFacetItem("hasLaces")).thenReturn(hasLacesFacetItem);
    when(hasLacesFacetItem.getPropertyValue((FacetProperty.IS_MULTI_SELECT))).thenReturn(true);

    // and nothing for chopsticks
    mgr.setRuleParams(query, true, false, null, filterQueries, catalog, false, null);

    verify(query).setFacetPrefix("category", "1.bobcatalog.");
    verify(query).addFilterQuery("category:0.bobcatalog");
    verify(query).getQuery();
    verify(query, times(2)).getSortFields();
    verify(query).setSortField("isToos", ORDER.asc);
    verify(query).addSortField("score", ORDER.desc);
    verify(query).addSortField("_version_", ORDER.desc);
    verify(query).setFacetPrefix("category", "13.jackets.");

    // verify the single calls to addFilterQuery
    verify(query).addFilterQuery("hasPinStripes:redstripes"); // this will have a facet
    verify(query).addFilterQuery("hasFeathers:socks&stuff"); // this will have a facet, but not MULTI
    verify(query).addFilterQuery("chopsticks:lookout below"); // no facet for this one (test null path)

    // now verify the multi calls to addFilterQuery
    verify(query).addFilterQuery("{!tag=category}category:jackets OR category:12.jackets");
    verify(query).addFilterQuery("{!tag=hasLaces}hasLaces:raingear");
    verify(query).getParams("excludeRules");
    verify(query).getParams("includeRules");
    verifyNoMoreInteractions(query);
}

From source file:org.opencommercesearch.RuleManagerTest.java

License:Apache License

@Test
public void testSetRuleParams2NullRules() throws RepositoryException, SolrServerException {
    SolrDocumentList solrDocumentList = new SolrDocumentList();
    setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false,
            solrDocumentList);//from w  w  w .j  ava 2s .co m
    SolrDocument rule = new SolrDocument();
    rule.addField("description", "description facetRule2");
    rule.addField("id", "facetRule2");
    solrDocumentList.add(rule);
    setUpRuleData(null, "description boostRule3", "boostRule3", boostRule, boostRuleItem1, false,
            solrDocumentList);

    solrDocumentList.setNumFound(solrDocumentList.size());
    solrDocumentList.setStart(0L);

    when(queryResponse.getResults()).thenReturn(solrDocumentList);
    when(server.query(any(SolrParams.class))).thenReturn(queryResponse);

    RuleManager mgr = new RuleManager(repository, builder, server);
    assertEquals(null, mgr.getRules());

    RepositoryItem catalog = mock(RepositoryItem.class);
    when(catalog.getRepositoryId()).thenReturn("bobcatalog");
    SolrQuery query = mock(SolrQuery.class);
    when(query.getQuery()).thenReturn("jackets");

    mgr.setRuleParams(query, true, false, null, null, catalog, false, null);
    verify(query).setFacetPrefix("category", "1.bobcatalog.");
    verify(query).addFilterQuery("category:0.bobcatalog");
    verify(query).getQuery();
    verify(query, times(2)).getSortFields();
    verify(query).setSortField("isToos", ORDER.asc);
    verify(query).addSortField("score", ORDER.desc);
    verify(query).addSortField("_version_", ORDER.desc);
    verify(query).getParams("includeRules");
    verify(query).getParams("excludeRules");
    verifyNoMoreInteractions(query);
}

From source file:org.sleuthkit.autopsy.keywordsearch.Server.java

License:Open Source License

/**
 * Execute solr query/*from   w w w .ja va  2s  .co m*/
 *
 * @param sq query
 * @return query response
 * @throws KeywordSearchModuleException
 * @throws NoOpenCoreException
 */
public QueryResponse query(SolrQuery sq) throws KeywordSearchModuleException, NoOpenCoreException {
    if (currentCore == null) {
        throw new NoOpenCoreException();
    }
    try {
        return currentCore.query(sq);
    } catch (SolrServerException ex) {
        throw new KeywordSearchModuleException(
                NbBundle.getMessage(this.getClass(), "Server.query.exception.msg", sq.getQuery()), ex);
    }
}

From source file:org.sleuthkit.autopsy.keywordsearch.Server.java

License:Open Source License

/**
 * Execute solr query//from ww w  .ja  va2s  .  co  m
 *
 * @param sq the query
 * @param method http method to use
 * @return query response
 * @throws KeywordSearchModuleException
 * @throws NoOpenCoreException
 */
public QueryResponse query(SolrQuery sq, SolrRequest.METHOD method)
        throws KeywordSearchModuleException, NoOpenCoreException {
    if (currentCore == null) {
        throw new NoOpenCoreException();
    }
    try {
        return currentCore.query(sq, method);
    } catch (SolrServerException ex) {
        throw new KeywordSearchModuleException(
                NbBundle.getMessage(this.getClass(), "Server.query2.exception.msg", sq.getQuery()), ex);
    }
}

From source file:org.sleuthkit.autopsy.keywordsearch.Server.java

License:Open Source License

/**
 * Execute Solr terms query/*from  ww w. ja  v  a 2  s  .co m*/
 *
 * @param sq the query
 * @return terms response
 * @throws KeywordSearchModuleException
 * @throws NoOpenCoreException
 */
public TermsResponse queryTerms(SolrQuery sq) throws KeywordSearchModuleException, NoOpenCoreException {
    if (currentCore == null) {
        throw new NoOpenCoreException();
    }
    try {
        return currentCore.queryTerms(sq);
    } catch (SolrServerException ex) {
        throw new KeywordSearchModuleException(
                NbBundle.getMessage(this.getClass(), "Server.queryTerms.exception.msg", sq.getQuery()), ex);
    }
}

From source file:org.springframework.data.solr.core.DefaultQueryParserTests.java

License:Apache License

@Test
public void testWithSimpleStringCriteria() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertNotNull(solrQuery);/*from w ww .  j  a v  a 2 s.  c  om*/
    assertQueryStringPresent(solrQuery);
    assertPaginationNotPresent(solrQuery);
    assertProjectionNotPresent(solrQuery);
    assertGroupingNotPresent(solrQuery);
    assertFactingNotPresent(solrQuery);

    Assert.assertEquals(criteria.getQueryString(), solrQuery.getQuery());
}

From source file:org.springframework.data.solr.core.DefaultQueryParserTests.java

License:Apache License

@Test
public void testWithJoinOperator() {
    SimpleQuery query = new SimpleQuery(new SimpleStringCriteria("field_1:value_1"));
    query.setJoin(Join.from("inner_id").to("outer_id"));

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("{!join from=inner_id to=outer_id}field_1:value_1", solrQuery.getQuery());
}

From source file:org.springframework.data.solr.core.query.result.DelegatingCursorUnitTests.java

License:Apache License

/**
 * @see DATASOLR-162// w ww.j  ava  2s .c  o m
 */
@Test
public void shouldNotModifyInitialQueryWhenRequestingResults() {

    SolrQuery initialQuery = new SolrQuery("*:*");
    DelegatingCursorFake<String> cursor = new DelegatingCursorFake<String>(initialQuery, null);
    cursor.open();

    SolrQuery executedQuey = cursor.getLastUsedQuery();

    assertThat(executedQuey, not(equalTo(initialQuery)));
    assertThat(executedQuey.getQuery(), equalTo(initialQuery.getQuery()));
    assertThat(executedQuey.get(CursorMarkParams.CURSOR_MARK_PARAM),
            equalTo(CursorMarkParams.CURSOR_MARK_START));

    assertThat(initialQuery.get(CursorMarkParams.CURSOR_MARK_PARAM), nullValue());
}

From source file:org.xume.solrcriteria.SolrjCriteriaTest.java

License:Apache License

@Test
public void testQuery() {
    SolrQuery query = criteria().query(new StubTerm("lorem ipsum")).buildQuery();
    assertThat(query.getQuery(), equalTo("lorem ipsum"));
}