diff -urp apachesolr_original/apachesolr.admin.inc apachesolr/apachesolr.admin.inc
--- apachesolr_original/apachesolr.admin.inc	2009-01-29 11:00:09.000000000 +0100
+++ apachesolr/apachesolr.admin.inc	2009-01-29 10:57:37.000000000 +0100
@@ -59,7 +59,13 @@ function apachesolr_settings() {
     ),
     '#default_value' => variable_get('apachesolr_failure', 'show_error'),
     '#description' => t('What to display if Apache Solr search is not available.'),
-  );  
+  );
+  $form['apachesolr_wildcard'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Solr wildcard'),
+    '#default_value' => variable_get('apachesolr_wildcard', '*'),
+    '#description' => t('Wildcard to show all results from the solr index.'),
+  );   
   return system_settings_form($form);
 }
 
Only in apachesolr: apachesolr.admin.inc.ori
diff -urp apachesolr_original/apachesolr.module apachesolr/apachesolr.module
--- apachesolr_original/apachesolr.module	2009-01-29 10:56:01.000000000 +0100
+++ apachesolr/apachesolr.module	2009-01-29 11:05:52.000000000 +0100
@@ -600,7 +600,8 @@ function apachesolr_block($op = 'list', 
             }
 
             $sort_links = array();
-            $path = 'search/' . arg(1) . '/' . $query->get_query_basic();
+            //$path = 'search/' . arg(1) . '/' . $query->get_query_basic();
+            $path = apachesolr_get_path();
             $new_query = clone $query;
             foreach ($sorts as $type => $sort) {
               $new_sort = isset($solrsorts[$type]) ? $solrsorts[$type] == 'asc' ? 'desc' : 'asc' : $sort['default'];
@@ -645,13 +646,15 @@ function apachesolr_facet_block($respons
         $contains_active = TRUE;
         $new_query->remove_field($facet_field, $facet);
         // TODO: don't assume 'search' - find the real path.
-        $path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+        //$path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+        $path = apachesolr_get_path();
         $querystring = $new_query->get_url_querystring();
         $unclick_link = theme('apachesolr_unclick_link', $path, $querystring);
       }
       else {
         $new_query->add_field($facet_field, $facet);
-        $path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+        //$path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+        $path = apachesolr_get_path();
         $querystring = $new_query->get_url_querystring();
       }
       $countsort = $count == 0 ? '' : 1 / $count;
@@ -844,6 +847,10 @@ function apachesolr_current_query($keys 
   if (empty($keys)) {
     $keys = search_get_keys();
   }
+  //when wildcard is used, use empty $keys
+  if ($keys == variable_get('apachesolr_wildcard', '*')) {
+    $keys = '';
+  }  
   if (empty($filters) && !empty($_GET['filters'])) {
     $filters = $_GET['filters'];
   }
@@ -1013,3 +1020,19 @@ function theme_apachesolr_sort_list($ite
   return theme('item_list', $items);
 }
 
+/**
+ * Return path
+ */
+function apachesolr_get_path() {
+  $query = apachesolr_current_query();
+  if ($query->get_query_basic() == '') {
+    // TODO: don't assume 'search' - find the real path.
+    $path = 'search/' . arg(1) . '/' . variable_get('apachesolr_wildcard', '*') . $query->get_query_basic();
+  }
+  else {
+    $path = 'search/' . arg(1) . '/' . $query->get_query_basic();
+  }
+  return $path;
+}
+
+
Only in apachesolr: apachesolr.module.ori
diff -urp apachesolr_original/apachesolr_search.module apachesolr/apachesolr_search.module
--- apachesolr_original/apachesolr_search.module	2009-01-27 22:32:34.000000000 +0100
+++ apachesolr/apachesolr_search.module	2009-01-29 11:21:04.000000000 +0100
@@ -339,13 +339,15 @@ function apachesolr_search_block($op = '
               if ($active = $query->has_field('tid', $tid)) {
                 $contains_active = TRUE;
                 $new_query->remove_field('tid', $term->tid);
-                $path = 'search/' . arg(1) . '/' . $new_query->get_query_basic();
+                //$path = 'search/' . arg(1) . '/' . $new_query->get_query_basic();
+                $path = apachesolr_get_path();
                 $querystring = $new_query->get_url_querystring();
                 $unclick_link = theme('apachesolr_unclick_link', $path, $querystring);
               }
               else {
                 $new_query->add_field('tid', $term->tid);
-                $path = 'search/' . arg(1) . '/' . $new_query->get_query_basic();
+                //$path = 'search/' . arg(1) . '/' . $new_query->get_query_basic();
+                $path = apachesolr_get_path();
                 $querystring = $new_query->get_url_querystring();
               }
               $countsort = $count == 0 ? '' : 1 / $count;
@@ -375,7 +377,8 @@ function apachesolr_search_block($op = '
           case 'currentsearch':
             $fields = $query->get_fields();
             $search_keys = $query->get_query_basic();
-            $path = 'search/' . arg(1) . '/' . $search_keys;
+            //$path = 'search/' . arg(1) . '/' . $search_keys;
+            $path = apachesolr_get_path();
             $options = array();
             if (!$fields) {
               $options['attributes']['class'] = 'active';
@@ -385,7 +388,8 @@ function apachesolr_search_block($op = '
               if ($field['#name']) {
                 $new_query = clone $query;
                 $new_query->remove_field($field['#name'], $field['#value']);
-                $path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+                //$path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+                $path = apachesolr_get_path();
                 $querystring = $new_query->get_url_querystring();
                 $unclick_link = theme('apachesolr_unclick_link', $path, $querystring);
                 if (! $fielddisplay = theme("apachesolr_breadcrumb_". $field['#name'], $field['#value'])) {
Only in apachesolr: apachesolr_search.modul.ori
