diff --git a/range.module b/range.module
index 6df8992..acdf3df 100644
--- a/range.module
+++ b/range.module
@@ -480,3 +480,40 @@ function range_field_widget_validate_subelement($subelement, $element, &$form_st
 function range_field_widget_error($element, $error, $form, &$form_state) {
   form_error($element, $error['message']);
 }
+
+/**
+ * Implements hook_entity_property_info().
+ */
+function range_entity_property_info_alter(&$info) {
+  $info['node']['properties']['range_field'] = array(
+    'type' => 'decimal',
+    'label' => t('Range fields'),
+    'sanitized' => TRUE,
+    'getter callback' => 'range_field_search_api_getter_range',
+    );
+  
+  return $info;
+}
+
+function range_field_search_api_getter_range($item, array $options, $name, $type, $context) {
+  
+  $field_instances = field_info_instances($type, $item -> type);
+  
+  $index = NULL;
+  
+  foreach($field_instances as $field_name => $field) {
+    if ($field['widget']['type'] != 'range')
+      continue;
+    
+    $data = $item -> $field_name;
+    $data = $data[$item -> language] [0];
+    
+    $from = $data['from'];
+    $to   = $data['to'];
+
+    $index = $index === NULL ? $from : min(min($index, $from), $to);
+  }
+  
+  return $index;
+}
+
