support "_script" parameter
diff --git a/core/org.eclipse.smila.search.servlet/code/src/org/eclipse/smila/search/servlet/RecordSearchServlet.java b/core/org.eclipse.smila.search.servlet/code/src/org/eclipse/smila/search/servlet/RecordSearchServlet.java
index 33a8221..954cca0 100644
--- a/core/org.eclipse.smila.search.servlet/code/src/org/eclipse/smila/search/servlet/RecordSearchServlet.java
+++ b/core/org.eclipse.smila.search.servlet/code/src/org/eclipse/smila/search/servlet/RecordSearchServlet.java
@@ -108,13 +108,18 @@
final Record searchRecord = XmlSerializationUtils.deserializeNoAttachments(inputStream);
- String workflow = searchRecord.getMetadata().getStringValue("_workflow");
- if (isBlank(workflow)) {
- workflow = DEFAULT_SEARCH_PIPELINE;
+ String resultXml = null;
+ final String script = searchRecord.getMetadata().getStringValue("_script");
+ if (isBlank(script)) {
+ String workflow = searchRecord.getMetadata().getStringValue("_workflow");
+ if (isBlank(workflow)) {
+ workflow = DEFAULT_SEARCH_PIPELINE;
+ }
+ resultXml = service.searchAsXmlString(workflow, searchRecord);
+ } else {
+ resultXml = service.searchAsXmlStringWithScript(script, searchRecord);
}
- final String resultXml = service.searchAsXmlString(workflow, searchRecord);
-
resp.setContentType("text/xml");
final ServletOutputStream out = resp.getOutputStream();
out.write(resultXml.getBytes("UTF-8"));