Browse Source

add explicit internal methods for getting doc fields

kimchy 14 years ago
parent
commit
e5db3175fb

+ 10 - 0
modules/elasticsearch/src/main/java/org/elasticsearch/search/lookup/DocLookup.java

@@ -24,7 +24,9 @@ import org.elasticsearch.ElasticSearchException;
 import org.elasticsearch.ElasticSearchIllegalArgumentException;
 import org.elasticsearch.common.collect.Maps;
 import org.elasticsearch.index.cache.field.data.FieldDataCache;
+import org.elasticsearch.index.field.data.DocFieldData;
 import org.elasticsearch.index.field.data.FieldData;
+import org.elasticsearch.index.field.data.NumericDocFieldData;
 import org.elasticsearch.index.mapper.FieldMapper;
 import org.elasticsearch.index.mapper.MapperService;
 
@@ -66,6 +68,14 @@ public class DocLookup implements Map {
         this.docId = docId;
     }
 
+    public <T extends DocFieldData> T field(String key) {
+        return (T) get(key);
+    }
+
+    public <T extends NumericDocFieldData> T numeric(String key) {
+        return (T) get(key);
+    }
+
     @Override public Object get(Object key) {
         // assume its a string...
         String fieldName = key.toString();