<?php /* Nom de domaine du serveur Solr */ define('SOLR_SERVER_HOSTNAME', 'labo.macarel.net'); /* Si l'on doit exécuter en mode sécurisé ou non */ define('SOLR_SECURE', false); /* Port HTTP de connexion */ define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983)); /* Nom d'utilisateur pour l'authentification HTTP Basic */ define('SOLR_SERVER_USERNAME', 'solr'); /* Mot de passe pour l'authentification HTTP Basic */ define('SOLR_SERVER_PASSWORD', 'secretsecret'); /* Nom de la collection */ define('SOLR_SERVER_COLLECTION', 'multi'); /* Délai maximal de connexion HTTP */ /* C'est la durée maximale en secondes autorisée pour l'opération de transfert de données http. La valeur par défaut est 30 secondes */ define('SOLR_SERVER_TIMEOUT', 10); /* Nom du fichier de la clé privée formattée PEM + du certificat privé (concaténés dans cet ordre) */ define('SOLR_SSL_CERT', 'certs/combo.pem'); /* Nom du fichier du certificat privé formatté PEM seulement */ define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt'); /* Nom du fichier de la clé privée formattée PEM */ define('SOLR_SSL_KEY', 'certs/solr.key'); /* Mot de passe pour le fichier de la clé privée formattée PEM */ define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword'); /* Nom du fichier contenant un ou plusieurs certificats CA pour l'authentification */ define('SOLR_SSL_CAINFO', 'certs/cacert.crt'); /* Nom du dossier contenant les certificats CA pour l'authentification */ define('SOLR_SSL_CAPATH', 'certs/'); /* Format de sortie du document*/ define('SOLR_OUPUT_FORMAT', 'json'); /* path de la collection ou du core */ define('SOLR_PATH', '/solr/multi'); define('SOLR_MAX_ROW', 99999999); ?>
<?php include_once "bootstrap.php"; $options = array( 'hostname' => SOLR_SERVER_HOSTNAME, 'login' => SOLR_SERVER_USERNAME, 'password' => SOLR_SERVER_PASSWORD, 'port' => SOLR_SERVER_PORT, // 'wt' => SOLR_OUPUT_FORMAT, 'path' => SOLR_PATH, ); try{ $client = new SolrClient($options); }catch (Exception $e){ print ("Exception levée. " . $e->getCode() . "\n"); return; } $opt = $client->getOptions(); // print_r($opt); $query = new SolrQuery(); $query->setQuery('pomme'); $query->setStart(0); $query->setRows(SOLR_MAX_ROW); $query->addField('definition') ->addField('dictionary') ->addField('genregram') ->addField('term') ->addField('term_clean') ->addField('weight'); try{ $query_response = $client->query($query); }catch(Exception $e){ print("Exception levée : " . $e->getCode(). "\n"); return; } $response = $query_response->getResponse(); $numFound = $response['response']['numFound']; print ("# trouvés $numFound\n"); $docs = $response['response']['docs']; foreach ($docs as $solrObj){ $dictionary = $solrObj['dictionary'][0]; $term = $solrObj['term']; $term_clean = $solrObj['term_clean']; $genregram = $solrObj['genregram'][0]; $weight = $solrObj['weight']; $definition = $solrObj['definition'][0]; print ("dictionary : $dictionary, term : $term, term_clean : $term_clean, genregram : $genregram, weight : $weight\ndefinition : $definition\n"); } // foreach // print_r($response); ?>