The new AdaptiveQueryProcessor rewrites NOT or -term queries depending on each SearchProvider's capabilities:
AND, + and OR operators are passed along to each SearchProvider. SWIRL ignores them for relevancy and highlighting purposes.
The new processor also removes negated query terms for providers that can't honor it. The updated CosineRelevancyProcessor moves results that contain negated terms to the back of the list.
This release also includes the updated MappingResultsProcessor which can aggregate multiple result fields using the | operator:
"result_mappings": "body=content|description..."
This configures SWIRL to populate the body field with the content and/or description fields, if populated. Should both be populated, the second description field is placed in the payload for clarity:
Finally, the search endpoint now offers a providers URL parameter!
The parameter will accept any combination of SearchProvider ids and/or tags.