List of usage examples for org.apache.solr.client.solrj.response TermsResponse getTermMap
public Map<String, List<Term>> getTermMap()
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()); } }