cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to search multiple product codes using SolrSearchQueryTemplate ?

x1111111111
Participant
0 Likes
807

Need to search multiple product codes using using SolrSearchQueryTemplate so that we can get all products in a single solr call

I am able to search one product code at a time using SolrSearchQueryTemplate but not sure how shall modify solr query so that i can pass multiple product codes in solr request

please find below implementation i have done to search single product code using SolrSearchQueryTemplate and it works fine

$productType=testProductType
$ftsQueryBuilder=multiFieldFreeTextQueryBuilder

INSERT_UPDATE SolrSearchQueryTemplate;name[unique=true];ftsQueryBuilder[default=$ftsQueryBuilder];showFacets;restrictFieldsInResponse;indexedType(Identifier)[default=$productType]
;TESTTEMPLATE;;false;true;


INSERT_UPDATE SolrSearchQueryProperty;ftsQuery;indexedProperty(name)[unique=true];searchQueryTemplate(name)[unique=true]
;true;code;TESTTEMPLATE<br>
final PageableData pageableData = createPageableData(0, getSearchPageSize(), null, ShowMode.Page);
final SearchStateData searchState = new SearchStateData();
final SearchQueryData searchQueryData = new SearchQueryData();

searchQueryData.setValue(XSSFilterUtil.filter(prodIdentifier.get(0)));
searchQueryData.setSearchQueryContext(SearchQueryContext.THIRDPARTYINTEGRATION);
searchState.setQuery(searchQueryData);

pageableData.setFlow(MyConstants.THIRDPARTYINTEGRATION);

final ProductSearchPageData<SearchStateData, de.hybris.platform.commercefacades.product.data.ProductData> searchPageData = testCloudProductSearchFacade
				.getProductByCodeMafIdBrand(searchState, pageableData, MyConstants.THIRDPARTYINTEGRATION);<br>
List<ProductData> prodFromSolr =  searchPageData.getResults();<br>

let me know what modifications are required to be done in this so that i can pass multiple product codes in request

Note:

searchQueryData.setValue(XSSFilterUtil.filter(prodIdentifier.get(0)));

setValue method accepts single parameter of type String

is it possible to send multiple codes separated by some token which SolrSearchQueryTemplate will automatically consider as multiple search terms ?

Accepted Solutions (0)

Answers (0)