Example usage for org.apache.solr.client.solrj.response TermsResponse getTermMap

List of usage examples for org.apache.solr.client.solrj.response TermsResponse getTermMap

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.response TermsResponse getTermMap.

Prototype

public Map<String, List<Term>> getTermMap() 

Source Link

Usage

From source file:com.frank.search.solr.core.ResultHelper.java

License:Apache License

static Map<String, List<TermsFieldEntry>> convertTermsQueryResponseToTermsMap(QueryResponse response) {
    if (response == null || response.getTermsResponse() == null
            || response.getTermsResponse().getTermMap() == null) {
        return Collections.emptyMap();
    }/*from  ww w .  j a v a 2 s.c o m*/

    TermsResponse termsResponse = response.getTermsResponse();
    Map<String, List<TermsFieldEntry>> result = new LinkedHashMap<String, List<TermsFieldEntry>>(
            termsResponse.getTermMap().size());

    for (Entry<String, List<Term>> entry : termsResponse.getTermMap().entrySet()) {
        List<TermsFieldEntry> terms = new ArrayList<TermsFieldEntry>(entry.getValue().size());
        for (Term term : entry.getValue()) {
            SimpleTermsFieldEntry termsEntry = new SimpleTermsFieldEntry(term.getTerm(), term.getFrequency());
            termsEntry.setField(entry.getKey());
            terms.add(termsEntry);
        }
        result.put(entry.getKey(), terms);
    }

    return result;
}

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

License:Apache License

static Map<String, List<TermsFieldEntry>> convertTermsQueryResponseToTermsMap(QueryResponse response) {
    if (response == null || response.getTermsResponse() == null
            || response.getTermsResponse().getTermMap() == null) {
        return Collections.emptyMap();
    }/*from ww w  .j  a va  2  s  . c  o  m*/

    TermsResponse termsResponse = response.getTermsResponse();
    Map<String, List<TermsFieldEntry>> result = new LinkedHashMap<String, List<TermsFieldEntry>>(
            termsResponse.getTermMap().size());

    for (Map.Entry<String, List<Term>> entry : termsResponse.getTermMap().entrySet()) {
        List<TermsFieldEntry> terms = new ArrayList<TermsFieldEntry>(entry.getValue().size());
        for (Term term : entry.getValue()) {
            SimpleTermsFieldEntry termsEntry = new SimpleTermsFieldEntry(term.getTerm(), term.getFrequency());
            termsEntry.setField(entry.getKey());
            terms.add(termsEntry);
        }
        result.put(entry.getKey(), terms);
    }

    return result;
}

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

License:Apache License

@Test
public void testConvertTermsQueryResponseReturnsTermsMapCorrectlyWhenOneFieldReturned() {
    TermsResponse termsResponse = new TermsResponse(new NamedList<NamedList<Number>>());
    termsResponse.getTermMap().put("field_1", Arrays.asList(new Term("term_1", 10), new Term("term_2", 5)));

    Mockito.when(response.getTermsResponse()).thenReturn(termsResponse);

    Map<String, List<TermsFieldEntry>> result = ResultHelper.convertTermsQueryResponseToTermsMap(response);

    Assert.assertEquals(1, result.size());
    Assert.assertEquals("term_1", result.get("field_1").get(0).getValue());
    Assert.assertEquals(10L, result.get("field_1").get(0).getValueCount());
    Assert.assertEquals("field_1", result.get("field_1").get(0).getField().getName());

    Assert.assertEquals("term_2", result.get("field_1").get(1).getValue());
    Assert.assertEquals(5L, result.get("field_1").get(1).getValueCount());
    Assert.assertEquals("field_1", result.get("field_1").get(1).getField().getName());
}

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

License:Apache License

@Test
public void testConvertTermsQueryResponseReturnsTermsMapCorrectlyWhenMultipleFieldsReturned() {
    TermsResponse termsResponse = new TermsResponse(new NamedList<NamedList<Number>>());
    termsResponse.getTermMap().put("field_1", Arrays.asList(new Term("term_1", 10), new Term("term_2", 5)));
    termsResponse.getTermMap().put("field_2", Arrays.asList(new Term("term_2", 2), new Term("term_3", 1)));

    Mockito.when(response.getTermsResponse()).thenReturn(termsResponse);

    Map<String, List<TermsFieldEntry>> result = ResultHelper.convertTermsQueryResponseToTermsMap(response);

    Assert.assertEquals(2, result.size());
    Assert.assertEquals("field_1", result.get("field_1").get(0).getField().getName());
    Assert.assertEquals("field_2", result.get("field_2").get(0).getField().getName());
}

From source file:peltomaa.sukija.QueryResponsePrinter.java

License:Open Source License

public static final void print(PrintStream out, QueryResponse response) {
    NamedList<Object> nl = response.getHeader();
    out.println(nl.toString());/*from   w  w  w  .  j ava2  s .  co m*/

    TermsResponse tr = response.getTermsResponse();
    Map<String, List<TermsResponse.Term>> tmap = tr.getTermMap();
    Iterator<Map.Entry<String, List<TermsResponse.Term>>> i = tmap.entrySet().iterator();
    while (i.hasNext()) {
        Map.Entry<String, List<TermsResponse.Term>> e = i.next();
        out.println(e.getKey());
        for (TermsResponse.Term m : e.getValue()) {
            out.println(m.getTerm() + " " + m.getFrequency());
        }
    }
    out.println("=========================");
    List<TermsResponse.Term> tterms = tr.getTerms("text");

    for (TermsResponse.Term t : tr.getTerms("text")) {
        //  out.println (t.getTerm());
    }

}