From 82004365674dbb5279acf5be100c4b9583b72d5d Mon Sep 17 00:00:00 2001 From: Rupert Westenthaler Date: Tue, 2 Apr 2019 14:11:19 +0200 Subject: [PATCH] fix for #307 --- .../io/redlink/smarti/lib/solr/iterms/ContextTerm.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/solr-iterms/src/main/java/io/redlink/smarti/lib/solr/iterms/ContextTerm.java b/lib/solr-iterms/src/main/java/io/redlink/smarti/lib/solr/iterms/ContextTerm.java index c7e6bada..c4549860 100644 --- a/lib/solr-iterms/src/main/java/io/redlink/smarti/lib/solr/iterms/ContextTerm.java +++ b/lib/solr-iterms/src/main/java/io/redlink/smarti/lib/solr/iterms/ContextTerm.java @@ -1,5 +1,7 @@ package io.redlink.smarti.lib.solr.iterms; +import org.apache.solr.client.solrj.util.ClientUtils; + public class ContextTerm { private final String field; @@ -33,11 +35,12 @@ public String getTerm() { return term; } /** - * The combination of <field>:<term> as used by Solr + * The combination of <field>:<term> as used by Solr. + * Also escapes query chars from the term * @return '<field>:<term>' or '<term>' if the field is null - */ + */ //#307: the term needs to be query escaped public String getSolrTerm() { - return field == null ? term : field + ':' + term; + return (field == null ? "" : field + ':') + ClientUtils.escapeQueryChars(term); } public float getRelevance() {