diff --git a/tests/search_api_test.install b/tests/search_api_test.install
index f06f37d..57b00bc 100644
--- a/tests/search_api_test.install
+++ b/tests/search_api_test.install
@@ -35,6 +35,12 @@ function search_api_test_schema() {
         'length' => 50,
         'not null' => TRUE,
       ),
+      'keywords' => array(
+        'description' => 'A comma separated list of keywords.',
+        'type' => 'varchar',
+        'length' => 200,
+       'not null' => FALSE,
+      ),
     ),
     'primary key' => array('id'),
   );
diff --git a/tests/search_api_test.module b/tests/search_api_test.module
index 618e4f1..6e67dde 100644
--- a/tests/search_api_test.module
+++ b/tests/search_api_test.module
@@ -43,6 +43,9 @@ function search_api_test_insert_item(array $form, array &$form_state) {
     'type' => array(
       '#type' => 'textfield',
     ),
+    'keywords' => array(
+      '#type' => 'textfield',
+    ),
     'submit' => array(
       '#type' => 'submit',
       '#value' => t('Save'),
@@ -78,24 +81,6 @@ function search_api_test_view($entity) {
  * Menu callback for executing a search.
  */
 function search_api_test_query(SearchApiIndex $index, $keys = 'foo bar', $offset = 0, $limit = 10, $fields = NULL, $sort = NULL, $filters = NULL) {
-  // Slight "hack" for testing complex queries.
-  if ($keys == '|COMPLEX|') {
-    $keys = array(
-      '#conjunction' => 'AND',
-      'test',
-      array(
-        '#conjunction' => 'OR',
-        'baz',
-        'foobar',
-      ),
-      array(
-        '#conjunction' => 'OR',
-        '#negation' => TRUE,
-        'bar',
-        'fooblob',
-      ),
-    );
-  }
   $query = $index->query()
     ->keys($keys ? $keys : NULL)
     ->range($offset, $limit);
@@ -178,6 +163,12 @@ function search_api_test_entity_property_info() {
       'description' => "The item's parent.",
       'getter callback' => 'search_api_test_parent',
     ),
+    'keywords' => array(
+      'label' => 'Keywords',
+      'type' => 'list<string>',
+      'description' => 'An optional collection of keywords describing the item.',
+      'getter callback' => 'search_api_test_list_callback',
+    ),
   );
 
   return $info;
@@ -200,6 +191,20 @@ function search_api_test_parent($entity) {
 }
 
 /**
+ * List callback.
+ */
+function search_api_test_list_callback($data) {
+  //return is_array($entity->keywords) ? $entity->keywords : explode(',', $entity->keywords);
+  if (is_array($data)) {
+    $res = is_array($data['keywords']) ? $data['keywords'] : explode(',', $data['keywords']);
+  }
+  else {
+    $res = is_array($data->keywords) ? $data->keywords : explode(',', $data->keywords);
+  }
+  return array_filter($res);
+}
+
+/**
  * Implements hook_search_api_service_info().
  */
 function search_api_test_search_api_service_info() {
