diff -urp apachesolr_orig/apachesolr.module apachesolr/apachesolr.module
--- apachesolr.module	2009-01-19 16:43:15.000000000 -0800
+++ apachesolr.module	2009-01-19 16:56:16.000000000 -0800
@@ -91,6 +91,12 @@ function apachesolr_settings() {
     '#default_value' => variable_get('apachesolr_failure', 'show_error'),
     '#description' => t('What to display if ApacheSolr 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);
 }
 
@@ -727,7 +733,7 @@ function apachesolr_block($op = 'list', 
             }
 
             $sort_links = array();
-            $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'];
@@ -781,14 +787,13 @@ function apachesolr_facet_block($respons
       if ($active = $query->has_field($delta, $facet)) {
         $contains_active = TRUE;
         $new_query->remove_field($delta, $facet);
-        // TODO: don't assume 'search' - find the real path.
-        $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($delta, $facet);
-        $path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+        $path = apachesolr_get_path();
         $querystring = $new_query->get_url_querystring();
       }
       $countsort = $count == 0 ? '' : 1 / $count;
@@ -822,6 +827,21 @@ function apachesolr_get_type($facet) {
   return node_get_types('name', $facet);
 }
 
+/**
+ * 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;
+}
+
 function apachesolr_form_block_admin_configure_alter(&$form, $form_state) {
   if (isset($form['block_settings']) && isset($form['block_settings']['apachesolr_facet_query_limit'])) {
     $form['#validate'][] = 'apachesolr_facet_query_limit_validate';
@@ -1006,6 +1026,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 = check_plain($_GET['filters']);
   }
diff -urp apachesolr_orig/apachesolr_search.module apachesolr/apachesolr_search.module
--- apachesolr_search.module	2009-01-16 12:03:40.000000000 -0800
+++ apachesolr_search.module	2009-01-19 16:54:35.000000000 -0800
@@ -314,13 +314,13 @@ 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 = 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 = apachesolr_get_path();
                 $querystring = $new_query->get_url_querystring();
               }
               $countsort = $count == 0 ? '' : 1 / $count;
@@ -362,7 +362,7 @@ 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 = 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'])) {
@@ -393,13 +393,13 @@ function apachesolr_search_block($op = '
                     if ($active = $query->has_field($index_key, $facet)) {
                       $contains_active = TRUE;
                       $new_query->remove_field($index_key, $facet);
-                      $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($index_key, $facet);
-                      $path = 'search/'. arg(1) .'/'. $new_query->get_query_basic();
+                      $path = apachesolr_get_path();
                       $querystring = $new_query->get_url_querystring();
                     }
                     $countsort = $count == 0 ? '' : 1 / $count;
