$dir_mes = "in data directory " . $indexer->get_data_root(); if ($csv_filename == null) { $mes = "Indexation of all linguistic data files"; } else { $mes = "Indexation of the linguistic data file {$csv_filename}"; $indexer->force_indexation(); } $logger->info("{$mes} {$dir_mes}\n"); if ($csv_filename != null) { $indexer->index_one_file($csv_filename); $logger->info("Nb. of morphemes indexed in this pass: "******"Total nb. of data files: " . count($indexer->list_data_files_in_data_directory())); $logger->info("Nb. files indexed in this pass: "******"Total nb. of entries: " . count(file($indexer->get_main_index_pathname()))); $logger->info("Nb. entries indexed in this pass: "******"\n*** {$message} ***\n"; } echo "\nUsage: php makeindex.php [-options] [<csv filename>]"; echo "\n\nwhere options include:"; echo "\n\n"; echo "-h\t\tprint this information\n"; echo "-f\t\tforce indexation\n"; $indexer = new Indexer(); echo "-d <dir>\tindex data files in directory <dir> (defaults to " . $indexer->get_data_root() . ")\n"; echo "\n";
public static function findLinguisticDataInIndex($id) { $logger = Logger::getLogger("LinguisticObjects.findLinguisticDataInIndex"); $attr_values = null; $indexer = new Indexer(); $index_file = $indexer->get_main_index_pathname(); $fh = fopen($index_file, 'r'); while (($ligne = fgets($fh)) != null) { list($an_id, $position, $csv_file_name) = explode(':', trim($ligne)); if ($an_id == $id) { $file_name = $indexer->get_data_pathname($csv_file_name); $logger->debug("\$file_name= {$file_name}; \$position= {$position}"); $fih = fopen($file_name, 'r'); fseek($fih, $position); $data = fgets($fih); $logger->debug("\$data= {$data}"); fseek($fih, 0); $fields_desc = fgets($fih); $logger->debug("\$fields= {$fields_desc}"); fclose($fih); $fieldsValues = parseCSV($fields_desc, $data); $attr_values = $fieldsValues; break; } } fclose($fh); return $attr_values; }