summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java')
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
index 38e31ec92a..92091d8b69 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
@@ -25,6 +25,7 @@ import org.elasticsearch.Version;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentParser.Token;
+import org.elasticsearch.index.mapper.KeywordFieldMapper;
import org.elasticsearch.index.mapper.ParseContext;
import org.elasticsearch.index.mapper.ParseContext.Document;
import org.elasticsearch.index.query.QueryParseContext;
@@ -136,10 +137,14 @@ public class CategoryContextMapping extends ContextMapping<CategoryQueryContext>
IndexableField[] fields = document.getFields(fieldName);
values = new HashSet<>(fields.length);
for (IndexableField field : fields) {
- values.add(field.stringValue());
+ if (field.fieldType() instanceof KeywordFieldMapper.KeywordFieldType) {
+ values.add(field.binaryValue().utf8ToString());
+ } else {
+ values.add(field.stringValue());
+ }
}
}
- return (values == null) ? Collections.<CharSequence>emptySet() : values;
+ return (values == null) ? Collections.emptySet() : values;
}
@Override