CakePHP avec Lucene
-
29-09-2019 - |
Question
Je suis en train de mettre en œuvre Lucene avec CakePHP et suivant ce guide http://jamienay.com/2010/01/zend_search_lucene-datasource-for- cakephp /
Am obtenir cette erreur
ConnectionManager :: loadDataSource - Impossible d'importer DataSource classe .ZendSearchLuceneSource
Je l'ai placé les fichiers fournisseurs dans l'application / fournisseurs / Zend /
a ajouté dans le bootstrap.php
ini_set('include_path', ini_get('include_path') . ':' . CAKE_CORE_INCLUDE_PATH . DS . '/vendors');
/**
* AutoLoading Zend Vendor Files
*/
function __autoload($path) {
if(substr($path, 0, 5) == 'Zend_') {
include str_replace('_', '/', $path) . '.php';
}
return $path;
}
ajouté à la base de données de configuration
var $zendSearchLucene = array(
'datasource' => 'ZendSearchLucene',
'indexFile' => 'lucene', // stored in the cache dir.
'driver' => '',
'source' => 'search_indices'
);
Ajouter créé un modèle appelé search.php
<?php
class Search extends AppModel {
var $useDbConfig = 'zendSearchLucene';
}
?>
En ce moment j'ai créé un contrôleur appelé recherche trop comme ceci
<?php
class SearchController extends AppController {
var $name = 'Search';
function index(){
}
}
?>
quand je visite le site / recherche reçois cette erreur.
La solution
Je ne sais pas si cela est encore pertinent pour vous, mais je viens de commencé à utiliser la même source de données et suis tombé sur les mêmes questions. Je mis à jour la source de données pour le gâteau 1.3 et il devrait fonctionner maintenant.
Jetez un oeil à ma fourchette du projet sur GitHub:
https://github.com/deceze/zend_search_lucene_source
Si vous trouvez des problèmes avec elle, s'il vous plaît billets ouverts pour eux. Je vais voir si je peux contourner pour les fixer. La source de données est une bonne base, mais peut avoir besoin d'une mise à jour et l'extension.