From b5a0ae2fbeca2f6449d67556f134bd51634ffd29 Mon Sep 17 00:00:00 2001 From: Shay Banon Date: Tue, 15 Nov 2011 22:20:15 +0200 Subject: [PATCH] better toString for custom score query --- .../index/query/CustomFiltersScoreQueryParser.java | 2 +- .../index/query/CustomScoreQueryParser.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomFiltersScoreQueryParser.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomFiltersScoreQueryParser.java index b32d5847a2e..046cf68f44e 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomFiltersScoreQueryParser.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomFiltersScoreQueryParser.java @@ -144,7 +144,7 @@ public class CustomFiltersScoreQueryParser implements QueryParser { String script = scripts.get(i); if (script != null) { SearchScript searchScript = context.scriptService().search(context.lookup(), scriptLang, script, vars); - scoreFunction = new CustomScoreQueryParser.ScriptScoreFunction(searchScript); + scoreFunction = new CustomScoreQueryParser.ScriptScoreFunction(script, vars, searchScript); } else { scoreFunction = new BoostScoreFunction(boosts.get(i)); } diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomScoreQueryParser.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomScoreQueryParser.java index 520168048be..f94ffd2f9b1 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomScoreQueryParser.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/query/CustomScoreQueryParser.java @@ -90,16 +90,22 @@ public class CustomScoreQueryParser implements QueryParser { throw new ElasticSearchIllegalStateException("No search context on going..."); } SearchScript searchScript = context.scriptService().search(context.lookup(), scriptLang, script, vars); - FunctionScoreQuery functionScoreQuery = new FunctionScoreQuery(query, new ScriptScoreFunction(searchScript)); + FunctionScoreQuery functionScoreQuery = new FunctionScoreQuery(query, new ScriptScoreFunction(script, vars, searchScript)); functionScoreQuery.setBoost(boost); return functionScoreQuery; } public static class ScriptScoreFunction implements ScoreFunction { + private final String sScript; + + private final Map params; + private final SearchScript script; - public ScriptScoreFunction(SearchScript script) { + public ScriptScoreFunction(String sScript, Map params, SearchScript script) { + this.sScript = sScript; + this.params = params; this.script = script; } @@ -119,5 +125,9 @@ public class CustomScoreQueryParser implements QueryParser { exp.addDetail(subQueryExpl); return exp; } + + @Override public String toString() { + return "script[" + sScript + "], params [" + params + "]"; + } } } \ No newline at end of file