List of usage examples for org.apache.solr.common SolrDocumentList SolrDocumentList
SolrDocumentList
From source file:com.sp.Parser.Utils.java
License:Open Source License
public static SolrDocumentList DedupByBookId(SolrDocumentList SolrDocList) { SolrDocumentList TempList = new SolrDocumentList(); ArrayList<String> TempStringList = new ArrayList<>(); String doc_book_id;/*from ww w.ja v a 2 s .c o m*/ for (SolrDocument doc : SolrDocList) { doc_book_id = doc.getFieldValue("book_id").toString(); if (!TempStringList.contains(doc_book_id)) { //System.out.println("doc_book_id " + doc_book_id); TempStringList.add(doc_book_id); TempList.add(doc); } } System.out.println("Templist size " + TempList.size()); return TempList; }
From source file:com.zb.app.external.lucene.solr.client.SolrClient.java
License:Open Source License
/** * solr//from w w w.j ava2 s .c o m * * @param corename ????? * @param returnType Class * @param solrQuery {@link SolrQueryConvert} * @return */ @SuppressWarnings("unchecked") public <T> List<T> querys(String corename, final Class<T> returnType, final SolrQuery solrQuery) { // solrQuery.setParam("hl", "true"); // highlighting solrQuery.setParam("hl.fl", "lTile", "lMode", "lYesItem", "lNoItem", "lChildren", "lShop", "lExpenseItem", "lPreseItem", "rContent", "rCar"); solrQuery.setHighlightSimplePre("<font color=\"red\">"); solrQuery.setHighlightSimplePost("</font>"); final SolrDocumentList list = new SolrDocumentList(); final HttpSolrServer server = getOrCreateSolrServer(corename); exec(new Executor() { public Result exec() throws SolrServerException, IOException { QueryResponse query = null; if (solrQuery.toString().length() > MAX_URL_LENGTH) { query = server.query(solrQuery, SolrRequest.METHOD.POST); } else { query = server.query(solrQuery, SolrRequest.METHOD.GET); } SolrDocumentList documents = query.getResults(); Map<String, Map<String, List<String>>> map = query.getHighlighting(); for (SolrDocument document : documents) { document.setField("lTile", map.get(document.getFieldValue("id")).get("lTile")); list.add(document); } return Result.success(); } }); return (List<T>) toBeanList(list, returnType); }
From source file:ddf.catalog.source.solr.SolrMetacardClientImplTest.java
License:Open Source License
private SolrDocumentList createSolrDocumentList(Map<String, String> attributes) { SolrDocumentList solrDocumentList = new SolrDocumentList(); List<String> names = new ArrayList<>(attributes.keySet()); for (String name : names) { solrDocumentList.add(createSolrDocument(name, attributes.get(name))); }//from w w w . j a v a 2 s .co m return solrDocumentList; }
From source file:de.hybris.platform.assistedservicefacades.solrfacetsearch.processors.AsmResultDataPostProcessor.java
License:Open Source License
@Override public SearchResult process(final SearchResult solrSearchResult) { // do not filter out ASM category products if AS agent is logged in if (getAssistedServiceFacade().isAssistedServiceAgentLoggedIn()) { return solrSearchResult; }//from ww w . j a v a 2 s . co m //make sure we have results to filter if (solrSearchResult != null && solrSearchResult.getTotalNumberOfResults() > 0) { try { final List<? extends ItemModel> results = solrSearchResult.getResults(); final SolrDocumentList queryResponseResults = ((SolrSearchResult) solrSearchResult) .getQueryResponse().getResults(); CategoryModel asmCategory = null; final SolrDocumentList removedList = new SolrDocumentList(); for (int i = 0; i < results.size(); i++) { final ItemModel item = results.get(i); if (item instanceof ProductModel) { final ProductModel productModel = (ProductModel) item; //here we are getting the ASM Category which has the Id of 1500 if (asmCategory == null) { asmCategory = getCategoryService().getCategoryForCode(productModel.getCatalogVersion(), "1500"); } //get categories for the current product final Collection<CategoryModel> categories = productModel.getSupercategories(); //check to see if the ASM Category is part of the associated categories or no if (CollectionUtils.isNotEmpty(categories)) { if (categories.contains(asmCategory) && queryResponseResults.get(i).containsValue(productModel.getCode())) { removedList.add(queryResponseResults.get(i)); //add the search item to be removed } } } } queryResponseResults.removeAll(removedList); //remove matching products that should only be displayed to ASM agent } catch (final FacetSearchException e) { LOG.error(e.getMessage(), e); return solrSearchResult; } } return solrSearchResult; }
From source file:de.hybris.platform.commerceservices.search.solrfacetsearch.impl.DefaultSolrProductSearchServiceTest.java
License:Open Source License
@Test public void testNull() throws FacetSearchException { final SearchResult searchResult = mock(SearchResult.class); final QueryResponse queryResponse = mock(QueryResponse.class); given(solrFacetSearchService.search(Matchers.<SearchQuery>any())).willReturn(searchResult); given(searchResult.getSolrObject()).willReturn(queryResponse); given(queryResponse.getResults()).willReturn(new SolrDocumentList()); productSearchService.textSearch(null, null); }
From source file:de.hybris.platform.commerceservices.search.solrfacetsearch.impl.DefaultSolrProductSearchServiceTest.java
License:Open Source License
@Test public void testEmpty() throws FacetSearchException { final SearchResult searchResult = mock(SearchResult.class); final QueryResponse queryResponse = mock(QueryResponse.class); given(solrFacetSearchService.search(Matchers.<SearchQuery>any())).willReturn(searchResult); given(searchResult.getSolrObject()).willReturn(queryResponse); given(queryResponse.getResults()).willReturn(new SolrDocumentList()); // final SearchPageData<SearchResultValueData> searchResultValueData = new SearchPageData<SearchResultValueData>(); // searchResultValueData.setBreadcrumbs(Collections.EMPTY_LIST); // searchResultValueData.setFacets(Collections.EMPTY_LIST); // searchResultValueData.setResults(Collections.EMPTY_LIST); // searchResultValueData.setSorts(Collections.EMPTY_LIST); // final SearchQueryData currentQuery = new SearchQueryData(); // currentQuery.setFreeTextSearch(""); // currentQuery.setFilterTerms(Collections.EMPTY_LIST); // searchResultValueData.setCurrentQuery(currentQuery); // final PaginationData paginationData = new PaginationData(); // paginationData.setTotalNumberOfResults(0); // paginationData.setNumberOfPages(0); // paginationData.setPageSize(0); // paginationData.setCurrentPage(0); // searchResultValueData.setPagination(paginationData); // given(commerceSearchService.search("")).willReturn(searchResultValueData); final FacetSearchPageData<SolrSearchQueryData, SearchResultValueData> searchPageData = productSearchService .textSearch("", null); Assert.assertEquals("", searchPageData.getCurrentQuery().getFreeTextSearch()); Assert.assertNull(searchPageData.getCurrentQuery().getCategoryCode()); Assert.assertTrue(searchPageData.getCurrentQuery().getFilterTerms().isEmpty()); Assert.assertTrue(searchPageData.getBreadcrumbs().isEmpty()); Assert.assertTrue(searchPageData.getFacets().isEmpty()); Assert.assertTrue(searchPageData.getResults().isEmpty()); Assert.assertTrue(searchPageData.getSorts().isEmpty()); Assert.assertEquals(0, searchPageData.getPagination().getTotalNumberOfResults()); Assert.assertEquals(0, searchPageData.getPagination().getNumberOfPages()); Assert.assertEquals(0, searchPageData.getPagination().getPageSize()); Assert.assertEquals(0, searchPageData.getPagination().getCurrentPage()); Assert.assertNull(searchPageData.getPagination().getSort()); }
From source file:de.hybris.platform.commerceservices.search.solrfacetsearch.impl.DefaultSolrProductSearchServiceTest.java
License:Open Source License
@Test public void testFreeTextQuery() throws FacetSearchException { final SearchResult searchResult = mock(SearchResult.class); final QueryResponse queryResponse = mock(QueryResponse.class); given(solrFacetSearchService.search(Matchers.<SearchQuery>any())).willReturn(searchResult); given(searchResult.getSolrObject()).willReturn(queryResponse); given(queryResponse.getResults()).willReturn(new SolrDocumentList()); final FacetSearchPageData<SolrSearchQueryData, SearchResultValueData> searchPageData = productSearchService .textSearch("free text query", null); Assert.assertEquals("free text query", searchPageData.getCurrentQuery().getFreeTextSearch()); Assert.assertNull(searchPageData.getCurrentQuery().getCategoryCode()); Assert.assertTrue(searchPageData.getCurrentQuery().getFilterTerms().isEmpty()); Assert.assertTrue(searchPageData.getBreadcrumbs().isEmpty()); Assert.assertTrue(searchPageData.getFacets().isEmpty()); Assert.assertTrue(searchPageData.getResults().isEmpty()); Assert.assertTrue(searchPageData.getSorts().isEmpty()); Assert.assertEquals(0, searchPageData.getPagination().getTotalNumberOfResults()); Assert.assertEquals(0, searchPageData.getPagination().getNumberOfPages()); Assert.assertEquals(0, searchPageData.getPagination().getPageSize()); Assert.assertEquals(0, searchPageData.getPagination().getCurrentPage()); Assert.assertNull(searchPageData.getPagination().getSort()); }
From source file:de.hybris.platform.commerceservices.search.solrfacetsearch.impl.DefaultSolrProductSearchServiceTest.java
License:Open Source License
@Test public void testPageData() throws FacetSearchException { final SearchResult searchResult = mock(SearchResult.class); final QueryResponse queryResponse = mock(QueryResponse.class); given(solrFacetSearchService.search(Matchers.<SearchQuery>any())).willReturn(searchResult); given(searchResult.getSolrObject()).willReturn(queryResponse); given(queryResponse.getResults()).willReturn(new SolrDocumentList()); given(Long.valueOf(searchResult.getTotalNumberOfResults())).willReturn(Long.valueOf(100)); given(Integer.valueOf(searchResult.getPageSize())).willReturn(Integer.valueOf(20)); given(Integer.valueOf(searchResult.getOffset())).willReturn(Integer.valueOf(0)); given(Long.valueOf(searchResult.getNumberOfPages())).willReturn(Long.valueOf(5)); final FacetSearchPageData<SolrSearchQueryData, SearchResultValueData> searchPageData = productSearchService .textSearch("", null); Assert.assertEquals("", searchPageData.getCurrentQuery().getFreeTextSearch()); Assert.assertNull(searchPageData.getCurrentQuery().getCategoryCode()); Assert.assertTrue(searchPageData.getCurrentQuery().getFilterTerms().isEmpty()); Assert.assertTrue(searchPageData.getBreadcrumbs().isEmpty()); Assert.assertTrue(searchPageData.getFacets().isEmpty()); Assert.assertTrue(searchPageData.getResults().isEmpty()); Assert.assertTrue(searchPageData.getSorts().isEmpty()); Assert.assertEquals(100L, searchPageData.getPagination().getTotalNumberOfResults()); Assert.assertEquals(5, searchPageData.getPagination().getNumberOfPages()); Assert.assertEquals(20, searchPageData.getPagination().getPageSize()); Assert.assertEquals(0, searchPageData.getPagination().getCurrentPage()); Assert.assertNull(searchPageData.getPagination().getSort()); }
From source file:de.hybris.platform.commerceservices.search.solrfacetsearch.impl.DefaultSolrProductSearchServiceTest.java
License:Open Source License
@Test public void testFacets() throws FacetSearchException { final SearchResult searchResult = mock(SearchResult.class); final QueryResponse queryResponse = mock(QueryResponse.class); given(solrFacetSearchService.search(Matchers.<SearchQuery>any())).willReturn(searchResult); given(searchResult.getSolrObject()).willReturn(queryResponse); given(queryResponse.getResults()).willReturn(new SolrDocumentList()); given(Long.valueOf(searchResult.getTotalNumberOfResults())).willReturn(Long.valueOf(100)); final FacetValue facetValue = new FacetValue("value", 7, false); final Facet facet = new Facet("facet", new ArrayList<FacetValue>(Collections.singleton(facetValue))); given(searchResult.getFacets()).willReturn(Collections.singletonList(facet)); final IndexedProperty facetProperty = new IndexedProperty(); facetProperty.setName("facet"); facetProperty.setType("string"); facetProperty.setFacet(true);/* w w w . ja v a 2 s. c o m*/ given(commerceIndexedType.getIndexedProperties()) .willReturn(Collections.singletonMap("facet", facetProperty)); facetProperty.setPriority(100); //facetProperty.setFacetSort(CommerceIndexedProperty.FacetSort.Alpha); final FacetSearchPageData<SolrSearchQueryData, SearchResultValueData> searchPageData = productSearchService .textSearch("", null); Assert.assertEquals("", searchPageData.getCurrentQuery().getFreeTextSearch()); Assert.assertNull(searchPageData.getCurrentQuery().getCategoryCode()); Assert.assertTrue(searchPageData.getCurrentQuery().getFilterTerms().isEmpty()); Assert.assertEquals(1, searchPageData.getFacets().size()); Assert.assertEquals("facet", searchPageData.getFacets().get(0).getCode()); Assert.assertEquals("facet", searchPageData.getFacets().get(0).getName()); Assert.assertEquals(1, searchPageData.getFacets().get(0).getValues().size()); Assert.assertNotNull(searchPageData.getFacets().get(0).getValues().get(0).getQuery()); Assert.assertEquals("value", searchPageData.getFacets().get(0).getValues().get(0).getName()); Assert.assertEquals(7, searchPageData.getFacets().get(0).getValues().get(0).getCount()); }
From source file:de.hybris.platform.commerceservices.search.solrfacetsearch.impl.DefaultSolrProductSearchServiceTest.java
License:Open Source License
@Test public void testReQuery() throws FacetSearchException { final SearchResult searchResult = mock(SearchResult.class); final QueryResponse queryResponse = mock(QueryResponse.class); given(solrFacetSearchService.search(Matchers.<SearchQuery>any())).willReturn(searchResult); given(searchResult.getSolrObject()).willReturn(queryResponse); given(queryResponse.getResults()).willReturn(new SolrDocumentList()); given(Long.valueOf(searchResult.getTotalNumberOfResults())).willReturn(Long.valueOf(100)); final FacetValue facetValue = new FacetValue("value", 7, false); final Facet facet = new Facet("facet", new ArrayList<FacetValue>(Collections.singleton(facetValue))); given(searchResult.getFacets()).willReturn(Collections.singletonList(facet)); final IndexedProperty facetProperty = new IndexedProperty(); facetProperty.setName("facet"); facetProperty.setType("string"); facetProperty.setFacet(true);/*from w w w. jav a2 s .c om*/ given(commerceIndexedType.getIndexedProperties()) .willReturn(Collections.singletonMap("facet", facetProperty)); facetProperty.setPriority(100); //facetProperty.setFacetSort(CommerceIndexedProperty.FacetSort.Alpha); final FacetSearchPageData<SolrSearchQueryData, SearchResultValueData> searchPageData = productSearchService .textSearch("", null); Assert.assertEquals("", searchPageData.getCurrentQuery().getFreeTextSearch()); Assert.assertNull(searchPageData.getCurrentQuery().getCategoryCode()); Assert.assertTrue(searchPageData.getCurrentQuery().getFilterTerms().isEmpty()); Assert.assertEquals(1, searchPageData.getFacets().size()); Assert.assertEquals("facet", searchPageData.getFacets().get(0).getCode()); Assert.assertEquals("facet", searchPageData.getFacets().get(0).getName()); Assert.assertEquals(1, searchPageData.getFacets().get(0).getValues().size()); Assert.assertNotNull(searchPageData.getFacets().get(0).getValues().get(0).getQuery()); Assert.assertEquals("value", searchPageData.getFacets().get(0).getValues().get(0).getName()); Assert.assertEquals(7, searchPageData.getFacets().get(0).getValues().get(0).getCount()); // Query Again, this time for the selected facet final SolrSearchQueryData facetQuery = searchPageData.getFacets().get(0).getValues().get(0).getQuery(); final PageableData pageableData = new PageableData(); pageableData.setCurrentPage(1); pageableData.setPageSize(2); pageableData.setSort("size"); final FacetSearchPageData<SolrSearchQueryData, SearchResultValueData> secondSearchPageData = productSearchService .searchAgain(facetQuery, pageableData); Assert.assertEquals("", secondSearchPageData.getCurrentQuery().getFreeTextSearch()); Assert.assertNull(secondSearchPageData.getCurrentQuery().getCategoryCode()); Assert.assertEquals(1, secondSearchPageData.getBreadcrumbs().size()); Assert.assertEquals("facet", secondSearchPageData.getBreadcrumbs().get(0).getFacetName()); Assert.assertEquals("value", secondSearchPageData.getBreadcrumbs().get(0).getFacetValueName()); Assert.assertNotNull(secondSearchPageData.getBreadcrumbs().get(0).getRemoveQuery()); Assert.assertNull(secondSearchPageData.getBreadcrumbs().get(0).getTruncateQuery()); }