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

Creating complex SOLR queries

0 Likes
187

Hello,

I am trying to create a complex SOLR query using ootb components, and currently I am facing the issue which I cannot resolve. The queries created in the way described below, do not resemble the needed format.

Namely this is a sample query that I would like to achieve:
(condition_1_string:someValue AND condition_2_string:anotherValue) OR condition_3_string:thirdValue

I am not sure how to get this result.

I am using SearchFilterQueryData objects to populate filter values, and if I for example use something like this:

final List<SearchFilterQueryData> searchFilerDataList = new ArrayList<>();

final SearchFilterQueryData condition1SearchFilterQueryData = new SearchFilterQueryData();
condition1SearchFilterQueryData.setKey("condition_1");
condition1SearchFilterQueryData.setValues(Collections.singleton("someValue"));
condition1SearchFilterQueryData.setOperator(FilterQueryOperator.AND);
searchFilerDataList.add(condition1SearchFilterQueryData);

final SearchFilterQueryData condition2SearchFilterQueryData = new SearchFilterQueryData();
condition2SearchFilterQueryData.setKey("condition_2");
condition2SearchFilterQueryData.setValues(Collections.singleton("anotherValue"));
condition2SearchFilterQueryData.setOperator(FilterQueryOperator.OR);
searchFilerDataList.add(condition2SearchFilterQueryData);

final SearchFilterQueryData condition3SearchFilterQueryData = new SearchFilterQueryData();
condition3SearchFilterQueryData.setKey("condition_3");
condition3SearchFilterQueryData.setValues(Collections.singleton("thirdValue"));
condition3SearchFilterQueryData.setOperator(FilterQueryOperator.OR);
searchFilerDataList.add(condition3SearchFilterQueryData);

Accepted Solutions (0)

Answers (0)