]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/check_import_finished.php
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / utils / check_import_finished.php
index 82d5b509ddc47e12fa9b9389c819bbe4d670e8c8..5ec99b81eb2a8164251a12b1888cdc4b0e50ceb5 100755 (executable)
@@ -20,8 +20,15 @@ $print_fail = function ($message = 'Failed') use ($term_colors) {
 $oDB = new Nominatim\DB;
 
 
+function isReverseOnlyInstallation()
+{
+    global $oDB;
+    return !$oDB->tableExists('search_name');
+}
+
+
 echo 'Checking database got created ... ';
-if ($oDB->databaseExists()) {
+if ($oDB->checkConnection()) {
     $print_success();
 } else {
     $print_fail();
@@ -99,7 +106,6 @@ $aExpectedIndices = array(
     'idx_placex_rank_address',
     'idx_placex_pendingsector',
     'idx_placex_parent_place_id',
-    'idx_placex_geometry_reverse_lookuppoint',
     'idx_placex_geometry_reverse_lookuppolygon',
     'idx_placex_geometry_reverse_placenode',
     'idx_location_area_country_place_id',
@@ -107,13 +113,16 @@ $aExpectedIndices = array(
     'idx_osmline_parent_osm_id',
     'idx_place_osm_unique',
     'idx_postcode_id',
-    'idx_postcode_postcode',
-
-    // sql/indices_search.src.sql
-    'idx_search_name_nameaddress_vector',
-    'idx_search_name_name_vector',
-    'idx_search_name_centroid'
+    'idx_postcode_postcode'
 );
+if (!isReverseOnlyInstallation()) {
+    $aExpectedIndices = array_merge($aExpectedIndices, array(
+        // sql/indices_search.src.sql
+        'idx_search_name_nameaddress_vector',
+        'idx_search_name_name_vector',
+        'idx_search_name_centroid'
+    ));
+}
 
 foreach ($aExpectedIndices as $sExpectedIndex) {
     echo "Checking index $sExpectedIndex ... ";
@@ -123,7 +132,8 @@ foreach ($aExpectedIndices as $sExpectedIndex) {
         $print_fail();
         echo <<< END
         Hints:
-        * Rerun the setup.php --create-search-indices step
+        * Run './utils/setup.php --create-search-indices --ignore-errors' to
+          create missing indices.
 
 END;
         exit(1);
@@ -144,7 +154,8 @@ if (empty($aInvalid)) {
     $print_fail();
     echo <<< END
     At least one index is invalid. That can happen, e.g. when index creation was
-    disrupted and later restarted. You should run the index stage of setup again.
+    disrupted and later restarted. You should delete the affected indices and
+    run the index stage of setup again.
     See the question 'Can a stopped/killed import process be resumed?' in the
     troubleshooting guide.
     Affected indices: